Excel - VBA : les structures en boucle

Les structures en boucles (ou répétitives) permettent de répéter l’exécution d’un ensemble d’instructions.

On distingue plusieurs types de structures en boucles :

Do…Loop

While…Wend

For…Next

For Each…Next

Do…Loop et While…Wend répètent un traitement jusqu’à ce qu’une certaine condition soit réalisée tandis que For…Next effectue un traitement un nombre de fois donné, en fonction d’un compteur.

For Each…Next permet de parcourir les éléments d’une collection.

L’instruction Do...Loop

Cette instruction va permettre de répéter un bloc d'instructions un nombre de fois indéterminé car les instructions sont exécutées aussi longtemps que la condition renvoie True.

Do While <Condition>
<Instructions>
Loop

On peut aussi l'écrire de ma manière suivante si les instructions doivent être exécutées une première fois sans condition :

Do
<Instructions>
Loop While <Condition>

Exemple parcourir la liste des prix, afficher, et s'arrêter s'il n'y a plus de prix indiqué dans une cellule

Sub LirePrix()
Dim i
i = 2
Do While Not (IsEmpty(Cells(i, 3)))
MsgBox Cells(i, 3), vbInformation, "info"
i = i + 1
Loop
End Sub