Instruction Do...Loop

Répète les instructions comprises entre les instructions Do et Loop tant que la condition est remplie (True) ou jusqu'à ce qu'elle le soit.

Syntaxe

Do [{While | Until} condition = True]

bloc d'instructions

[Exit Do]

bloc d'instructions

Loop

ou

Do

bloc d'instructions

[Exit Do]

bloc d'instructions

Loop [{While | Until} condition = True]

Paramètres/Éléments

Condition : comparaison, expression numérique ou expression au format chaîne de caractères dont l'évaluation donne soit True, soit False.

Bloc d'instructions : instructions à répéter tant que la condition reste remplie (True) ou jusqu'à ce qu'elle soit remplie.

L'instruction Do...Loop exécute une boucle tant qu'une certaine condition est remplie ou jusqu'à ce qu'elle le soit. La condition permettant de quitter la boucle doit être saisie à la suite de l'instruction Do ou de l'instruction Loop. Les exemples suivants constituent des combinaisons valides :

Syntaxe

Do While condition = True

...bloc d'instructions

Loop

Le bloc d'instructions compris entre les instructions Do While et Loop est répété tant que la condition reste remplie (True).

Do Until condition = True

...bloc d'instructions

Loop

Le bloc d'instructions compris entre les instructions Do Until et Loop est répété tant que la condition n'est pas remplie (False).

Do

...bloc d'instructions

Loop While condition = True

Le bloc d'instructions compris entre les instructions Do et Loop se répète tant que la condition est remplie (True).

Do

...bloc d'instructions

Loop Until condition = True

Le bloc d'instructions compris entre les instructions Do et Loop se répète jusqu'à ce que la condition soit remplie (True).

Servez-vous de l'instruction Exit Do pour mettre fin à la boucle sans condition. Vous pouvez ajouter cette instruction en n'importe quel point d'une instruction Do...Loop. Vous pouvez également définir une condition de sortie à l'aide de la structure If...Then, comme suit :

Do...

instructions

If condition = True Then Exit Do

instructions

Loop...

Exemple

Sub ExampleDoLoop

Dim sFile As String

Dim sPath As String

    sPath = "c:\"

    sFile = Dir$( sPath ,22)

    If sFile <> "" Then

        Do

            MsgBox sFile

            sFile = Dir$

        Loop Until sFile = ""

    End If

End Sub