La version de votre navigateur est obsolète. Nous vous recommandons vivement d'actualiser votre navigateur vers la dernière version.

Les boucles en VBA

Les instructions en boucle permettent de répéter une série d'instructions, et ce, pour un nombre de fois déterminé à l'avance ou non, selon l'objectif du programmeur.

Celles-ci font appel aux opérateurs logiques et relationnels afin de déterminer la condition déterminant le moment où l'instruction de boucle arrête de boucler.

Les opérateurs relationnels:

= Égal à
> Supérieur à
< Inférieur à
<> Différent à
>= Supérieur ou égal à
<= Inférieur ou égal à

Si la condition inclues une comparaison avec une chaîne de caractères, il est requis de mettre celle-ci entre
guillemets ( "    " ).

Les boucles Do....Loop

Il existe quatre types de boucles Do....Loop:

  1. Do While.....Loop

    Permet de répéter des instructions tant que la condition est vraie.

    Do While Condition

            Série d’instructions

    Loop

  2. Do Until.....Loop

    Permet de répéter des instructions jusqu’à ce que la condition soit vraie.

    Do Until Condition

            Série d’instructions

    Loop
  3. Do.....Loop While

    Permet de répéter des instructions tant que la condition est vraie.

    Do

            Série d’instructions

    Loop while condition

  4. Do.....Loop Until

    Permet de répéter des instructions jusqu'à ce que la condition soit vraie.

    Do

            Série d’instructions

    Loop Until condition

Exemples:

 

En français, cette instruction VBA correspondrait à "Tant que le contenu de la cellule active est différent de vide, sélectionne la cellule suivante dans la colonne". De plus, la condition est vérifiée dès le départ, ce qui permet des cas où le code inclus dans la boucle n'est jamais exécuté puisque la condition n'est pas remplie.


En français, cette instruction VBA correspondrait à "Tant que le contenu de la cellule active n'est pas différent de vide, sélectionne la cellule suivante dans la colonne" ou pour être plus exact pour ce qui est des termes "Jusqu'à ce que le contenu de la cellule active soit différent de vide, sélectionne la cellule suivante dans la colonne". De plus, la condition est vérifiée dès le départ, ce qui permet des cas où le code inclus dans la boucle n'est jamais exécutée puisque la condition n'est pas remplie.


Cette boucle fait en quelque sorte la même chose que celle de ProExemple1, à ceci près que cette fois, la condition étant à la fin, les instructions à l'intérieur de la boucle sont assurées d'être exécutées au minimum une fois.

En français, cette instruction VBA correspondrait donc à "Sélectionne la cellule suivante dans la colonne et ce tant que le contenu de la cellule active est différent de vide".


Cette boucle fait en quelque sorte la même chose que celle de ProExemple2 à ceci près que cette fois, la condition étant à la fin, les instructions à l'intérieur de la boucle sont assurées d'être exécutées au minimum une fois.

En français, cette instruction VBA correspondrait donc à "Sélectionne la cellule suivante dans la colonne et ce jusqu'à ce que le contenu de la cellule active soit différent de vide".

La boucle For....Next

La boucle for …. Next permet de faire des boucles et d’exécuter une série d’instructions un nombre de fois déterminé en utilisant un compteur.

For compteur = x To y

Série d’instructions

Next compteur

(Ici, compteur est une variable numérique)

Le code dans cette boucle est exécuté cinq fois.

À chaque répétition, le code fait en sorte de marquer la valeur de la variable varCompteur dans la cellule active avant de sélectionner la cellule suivante dans la colonne.

La boucle For Each....Next

La boucle For Each… Next permet de faire une instruction à l’ensemble des objets d’une collection et s’utilise selon cette syntaxe.

For Each élément in collection

            Série d’instructions

Next éléments

Ce code parcours chaque cellules incluses dans la sélection "A10:F100" et si la valeur de la cellule actuelle est 200, la remplace par 20.