Do...Loop, instruction

Microsoft VBScript

Microsoft® Visual Basic® Scripting Edition Do...Loop, instruction  Référence du langage 
Version 1 


Description
Répète un bloc d'instructions tant qu'une condition est True ou jusqu'à ce qu'une condition devienne True.
Syntaxe
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]

La syntaxe de l'instruction Do...Loop comprend les éléments suivants :

Élément Description
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 un 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.