Accueil/Cours gratuits/Bibliothèque VBA/Boucles/Do While et Do Until
Cours VBA gratuit | Boucles

Do While et Do Until

Gratuit, sans inscription Niveau 2 / 3 | Intermédiaire Lecture 7 min V1.2 | 29/10/2026

Parfois, on ne sait pas combien de tours seront nécessaires : on veut continuer tant qu'il reste des données, ou jusqu'à trouver ce qu'on cherche. Do While et Do Until répètent tant qu'une condition le demande.

Télécharger la fiche PDF gratuiteSans inscription, mise en page prête à imprimer

01Définition

En une phrase

Do While répète un bloc tant que la condition est vraie. Do Until répète jusqu'à ce que la condition devienne vraie.

02Les quatre formes

Condition au début ou à la fin
' Test au début : peut ne faire aucun tour
Do While condition
    ' instructions
Loop

Do Until condition
    ' instructions
Loop

' Test à la fin : fait toujours au moins un tour
Do
    ' instructions
Loop While condition

Do
    ' instructions
Loop Until condition

Do While x <> "" et Do Until x = "" font exactement la même chose : choisissez la forme qui se lit le plus naturellement.

03Exemples à copier

Avancer jusqu'à la première cellule vide

Numéroter les lignes remplies
Sub Numeroter()
    Dim i As Long
    i = 2
    Do While Cells(i, 2).Value <> ""
        Cells(i, 1).Value = i - 1
        i = i + 1          ' indispensable : sinon la boucle ne s'arrête jamais
    Loop
End Sub

Redemander tant que la saisie est incorrecte

Exiger un nombre
Sub DemanderQuantite()
    Dim saisie As String
    Do
        saisie = InputBox("Quantité (nombre entier) ?")
        If saisie = "" Then Exit Sub
    Loop Until IsNumeric(saisie)
    Range("B2").Value = CLng(saisie)
End Sub

Sortir en cours de route avec Exit Do

Chercher le premier montant supérieur à 10 000
Dim i As Long
i = 2
Do Until Cells(i, 3).Value = ""
    If Cells(i, 3).Value > 10000 Then
        MsgBox "Premier gros montant en ligne " & i
        Exit Do
    End If
    i = i + 1
Loop

04Pièges à éviter

⚠️ PiègeLa boucle infinie

Si la condition ne change jamais, la macro tourne sans fin et Excel semble figé. Appuyez sur Échap ou Ctrl + Pause pour l'interrompre, puis vérifiez que la variable testée évolue bien à chaque tour.

⚠️ PiègeUne cellule vide au milieu

Une boucle qui s'arrête à la première cellule vide s'arrête aussi au premier trou dans les données. Si le tableau peut contenir des lignes vides, calculez plutôt la dernière ligne et utilisez For Next.

⚠️ PiègeWhile Wend

Vous croiserez While ... Wend dans de vieux codes. Elle fonctionne, mais ne permet pas de sortir avec Exit : préférez Do While.

05Questions fréquentes

Quelle est la différence entre Do While et Do Until en VBA ?

Do While répète un bloc tant que la condition est vraie. Do Until répète jusqu'à ce que la condition devienne vraie.

Quel est le piège le plus fréquent avec les boucles Do While et Do Until ?

La boucle infinie. Si la condition ne change jamais, la macro tourne sans fin et Excel semble figé. Appuyez sur Échap ou Ctrl + Pause pour l'interrompre, puis vérifiez que la variable testée évolue bien à chaque tour.

La fiche « Do While et Do Until » est-elle gratuite ?

Oui. La fiche est en accès libre et gratuit, sans inscription : vous pouvez la lire en ligne et télécharger sa version PDF. Elle fait partie du cours VBA gratuit de mesetudesdecas.fr, qui compte 21 fiches.

Pour les formateurs

Passez de la fiche à la mise en situation

Les études de cas mesetudesdecas.fr placent vos apprenants face à un vrai besoin d'entreprise. L'étude de cas XL-05 fait automatiser un devis commercial de bout en bout, macros comprises, avec énoncé, corrigé et pas-à-pas du formateur.

Découvrir l'étude de cas XL-05
Voir aussi

Toutes les fiches du cours VBA gratuit

Voir aussi le cours gratuit sur les formules Excel

Fiche V1.2 | Dernière mise à jour : 29/10/2026 | Clément Delobel, formateur Excel et VBA