Faire... Instruction de boucle

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

Syntaxe

Do [{ While | Until } condition ] [ instructions ] [ Exit Do ] [ instructions ] Boucle

Vous pouvez aussi utiliser cette syntaxe :

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

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

Élément Description
condition Facultatif. Expression numérique ou expression de chaîne qui est True ou False. Si condition est Null, condition est traitée comme False.
statements Une ou plusieurs instructions répétées tant que la condition est True, ou jusqu’à ce qu’elle le soit.

Remarques

N’importe quel nombre d’instructions Exit Do peuvent être placées n’importe où dans le do... Boucle comme une autre façon de quitter un Do... Boucle. Exit Do est souvent utilisé lors de l’évaluation d’une condition, par exemple, If…Then, auquel cas l’instruction Exit Do transfère le contrôle à l’instruction qui suit immédiatement Loop.

Lorsqu’elle est utilisée au sein d’instructions Do…Loop imbriquées, l’instruction Exit Do transfère le contrôle à la boucle qui est imbriquée un niveau au-dessus de la boucle où Exit Do se produit.

Exemple

Cet exemple montre comment les instructions Do...Loop peuvent être utilisées. Le do interne... L’instruction loop effectue une boucle 10 fois, demande à l’utilisateur si elle doit continuer, définit la valeur de l’indicateur sur False quand il sélectionne Non et se termine prématurément à l’aide de l’instruction Exit Do . La boucle extérieure quitte immédiatement après la vérification de la valeur de l'indicateur.

Public Sub LoopExample()
    Dim Check As Boolean, Counter As Long, Total As Long
    Check = True: Counter = 0: Total = 0 ' Initialize variables.
    Do ' Outer loop.
        Do While Counter < 20 ' Inner Loop
            Counter = Counter + 1 ' Increment Counter.
            If Counter Mod 10 = 0 Then ' Check in with the user on every multiple of 10.
                Check = (MsgBox("Keep going?", vbYesNo) = vbYes) ' Stop when user click's on No
                If Not Check Then Exit Do ' Exit inner loop.
            End If
        Loop
        Total = Total + Counter ' Exit Do Lands here.
        Counter = 0
    Loop Until Check = False ' Exit outer loop immediately.
    MsgBox "Counted to: " & Total
End Sub

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.