top of page

Les Boucles en VBA

Dernière mise à jour : 31 oct. 2023

En VBA, les boucles permettent d'automatiser un maximum de traitements avec un minimum de code.

Il existe plusieurs types de boucles que nous allons voir ci-dessous :


Boucle If et Select Case

Celle-ci permet de gérer des conditions, c'est à dire créér de la logique conditionnelle.

En prérequis, il faut bien respecter la syntaxe suivante = If Then Else End if.


En pratique, cela donne :

If Montant < 500 Then
msgBox("petit montant")
Else
msgBox("grand montant")
End If

Pour agir de manière plus efficace et avec un grand nombre de conditions, la boucle Select Case est recommandée. Elle est la grande sœur de la boucle If, c'est à dire qu'elle sert à la même chose mais sa syntaxe moins verbeuse en fait une alliée idéale si vous avez besoin de beaucoup de conditions.

Boucle With


Cette boucle permet de gérer des traitements sur un objet.

Plutôt que de répéter les coordonnés de l'objet sur lequel on applique un ensemble de modifications, on le déclare dans un boucle With, et on y applique tous les traitements demandés.


En prérequis, il faut donc With au début et End With à la fin.


En pratique, cela donne :

With Objet1
        .font = Arial
        .color = #453256
        .Value = "toto"
End With


Boucle For

Cette boucle est indispensable pour répéter ou automatiser une série de traitements sur une liste d'objets, d'un point de départ à un point de fin.

Cela signifie qu'avec une boucle For, on peut travailler sur un ensemble d'onglets, de fichiers Excel, de colonnes, de lignes ... Comme prérequis, vous aurez besoin de 3 éléments :

  1. Un point de départ. Celui-ci peut être une variable ou une valeur constante numérique. S'il s'agit d'une variable, vous l'aurez précédemment déclarée en tant que nombre et initialisée.

  2. Un point de fin. Celui-ci peut également être une variable ou une valeur constante numérique. S'il s'agit d'une variable, vous l'aurez précédemment déclarée en tant que nombre et initialisée.

  3. Un incrément. C'est une variable numérique et celui-ci s'appelle généralement 'i','j' ou 'numéroLigne' si vous travaillez sur un ensemble de lignes. Pour incrémenter, vous utiliserez le mot clé Next.


En pratique, cela donne :

For i = [PointdeDépart] To [PointdeFin]
---mon code ici---
Next i

Cet article vous a plu ? N'hésitez pas à nous contacter pour votre projet de formation Excel VBA en présentiel ou à distance.

Vous pouvez également trouver d'autres articles sur notre Blog.


Commentaires


Des questions?

Contact excel boost

Un formateur Excel vous répond très vite

bottom of page