Do...Loop, instruction

Répète un bloc d'instructions tant qu'une condition est True ou jusqu'à ce qu'une condition devienne True.

Do [{While | Until} condition]
   [statements]
   [Exit Do]
   [statements]
Loop

Vous pouvez aussi utiliser la syntaxe suivante :

Do
   [statements]
   [Exit Do]
   [statements]
Loop [{While | Until} condition]

Arguments

condition

Expression numérique ou expression de chaîne qui est True ou False. Si condition est Null, l'élément condition est traité comme False.

statements

Une ou plusieurs instructions qui sont répétées tant que l'élément condition est True, ou jusqu'à ce qu'il le devienne.

Notes

L'instruction Exit Do ne peut être utilisée que dans une structure de contrôle Do...Loop afin de proposer une solution alternative pour quitter une instruction Do...Loop. Vous pouvez placer autant d'instructions Exit Do que vous voulez n'importe où dans l'instruction Do...Loop. Souvent utilisée avec l'évaluation d'une condition (par exemple, l'instruction If...Then), l'instruction Exit Do transfère le contrôle à l'instruction qui suit immédiatement Loop.

Quand elle est utilisée à l'intérieur d'instructions Do...Loop imbriquées, l'instruction Exit Do transfère le contrôle à la boucle située au niveau d'imbrication supérieur à celui de la boucle dans laquelle elle se déroule.

L'exemple ci-dessous illustre l'utilisation de l'instruction Do...Loop :

Do Until DefResp = vbNo
   MyNum = Int (6 * Rnd + 1)   ' Génère un entier aléatoire entre 1 et 6.
   DefResp = MsgBox (MyNum & " Voulez-vous un autre nombre?", vbYesNo)
Loop
Dim Check, Counter
Check = True: Counter = 0   ' Initialise les variables.
Do               ' Boucle externe.
   Do While Counter < 20      ' Boucle interne.
      Counter = Counter + 1   ' Incrémente le compteur.
      If Counter = 10 Then    ' Si la condition vaut True...
         Check = False        ' Affecte la valeur False à l'indicateur.
         Exit Do              ' Quitte la boucle interne.
      End If
   Loop
Loop Until Check = False      ' Quitte immédiatement la boucle externe.

Version requise

Version 1

Voir aussi

Exit, instruction | For...Next, instruction | While...Wend, instruction