VBA - Boucles Do-While

UNE Do…Whileloop est utilisé lorsque nous voulons répéter un ensemble d'instructions tant que la condition est vraie. La condition peut être vérifiée au début de la boucle ou à la fin de la boucle.

Syntaxe

Voici la syntaxe d'un Do…While boucle en VBA.

Do While condition
   [statement 1]
   [statement 2]
   ...
   [statement n]
   [Exit Do]
   [statement 1]
   [statement 2]
   ...
   [statement n]
Loop

Représentation schématique

Exemple

L'exemple suivant utilise Do…whileloop pour vérifier la condition au début de la boucle. Les instructions à l'intérieur de la boucle sont exécutées uniquement si la condition devient True.

Private Sub Constant_demo_Click()
   Do While i < 5
      i = i + 1
      msgbox "The value of i is : " & i
   Loop
End Sub

Lorsque le code ci-dessus est exécuté, il imprime la sortie suivante dans une boîte de message.

The value of i is : 1

The value of i is : 2

The value of i is : 3

The value of i is : 4

The value of i is : 5

Syntaxe alternative

Il existe également une autre syntaxe pour Do…whileboucle qui vérifie la condition à la fin de la boucle. La principale différence entre ces deux syntaxes est expliquée dans l'exemple suivant.

Do 
   [statement 1]
   [statement 2]
   ...
   [statement n]
   [Exit Do]
   [statement 1]
   [statement 2]
   ...
   [statement n]
Loop While condition

Exemple

L'exemple suivant utilise Do…whileloop pour vérifier la condition à la fin de la boucle. Les instructions à l'intérieur de la boucle sont exécutées au moins une fois, même si la condition est False.

Private Sub Constant_demo_Click() 
   i = 10
   Do
      i = i + 1
      MsgBox "The value of i is : " & i
   Loop While i < 3 'Condition is false.Hence loop is executed once.
End Sub

Lorsque le code ci-dessus est exécuté, il imprime la sortie suivante dans une boîte de message.

The value of i is : 11