Boucle VBA Excel jusqu'à

Faire jusqu'à ce que la boucle continue de répéter les instructions jusqu'à ce que la condition / les critères deviennent VRAI. Il exécutera les instructions tant que les conditions seront FAUX. Dès que la condition / critère devient VRAI, il termine la boucle. Elle peut être considérée comme opposée à la boucle Do While, où la boucle s'exécute tant que les critères sont VRAIS et se termine dès que les critères sont FAUX.

Voir le diagramme ci-dessous qui explique le fonctionnement de la boucle Do Until:

Syntaxe de Do Until Loop dans Excel VBA

Do Until Loop a deux types de syntaxe dans Excel VBA.

Syntaxe 1:

 Faire jusqu'à (condition) (instructions à exécuter) 

Syntaxe 2:

 Faire (instructions à exécuter) Boucle jusqu'à (condition) 

La différence fondamentale entre ces deux syntaxes est l'exécution. Dans la première syntaxe, la boucle vérifiera toujours si la condition est True ou False. S'il est faux, il recommencera la boucle. Dès que la condition / les critères sont remplis, cela met fin à la boucle. Dans ce cas, il est possible que la boucle se termine à la première itération elle-même (si la condition est True). Par conséquent, vous n'obtiendrez aucune sortie dans ce cas. Cependant, dans la deuxième syntaxe, la boucle exécutera initialement les instructions, puis vérifiera si la condition est vraie ou fausse. Si la condition est False, il exécutera à nouveau le même ensemble d'instructions et vérifiera la condition. Si la première itération elle-même donne la condition True, cette boucle se termine, mais avant cela, une instruction sera exécutée. Dans ce cas, nous obtiendrons au moins une itération (en tant que sortie nulle).

Enfin, la sortie des deux codes sera la même. Cependant, l'exécution est quelque chose qui diffère de ces deux.

Exemple de boucle VBA Excel VBA

Voyons les exemples de boucle Do Until dans Excel VBA.

Vous pouvez télécharger ce modèle Excel VBA Faire jusqu'à la boucle ici - Modèle Excel VBA Faire jusqu'à la boucle

Exemple # 1 - VBA Do Until Loop lorsque les conditions sont vérifiées au démarrage

Suivez les étapes ci-dessous pour appliquer la boucle Do Until dans Excel VBA.

Étape 1: insérez un nouveau module sous Visual Basic Editor (VBE) pour pouvoir écrire du code.

Étape 2: Définissez une sous-procédure qui peut stocker le code macro que vous allez écrire.

Code:

 Sub Do_Until_Ex1 () End Sub 

Étape 3: Définissez une nouvelle variable «X» avec le type de données «Long». Cette variable peut être utilisée comme condition / critère sous la boucle Do Until.

Code:

 Sub Do_Until_Ex1 () Dim X As Sub à extrémité longue 

Étape 4: définissez la valeur initiale sur 1 pour la variable X.

Code:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 End Sub 

Étape 5: démarrez la boucle avec les mots clés Do Until.

Code:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 Do Until End Sub 

Étape 6: spécifiez les critères sous la forme X = 11 sous Do Until. Il s'agit d'une condition qui permet à la boucle de se rompre lorsqu'elle vaut True. Cela signifie que la boucle sera exécutée jusqu'à ce que la valeur de X = 11. Dès que la valeur de X est égale à 11, la boucle se terminera.

Code:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 Do Until X = 11 End Sub 

Étape 7: Maintenant, utilisez les cellules VBA. Fonction de valeur pour pouvoir ajouter le carré de chaque nombre jusqu'à X sous la première colonne.

Code:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 Do Until X = 11 Cells (X, 1) .Value = X * X End Sub 

Étape 8: Encore une fois, nous devons définir l'incrément de X de 1, de sorte que chaque fois que la boucle s'exécute et vérifie la condition, elle passe au numéro suivant et en stocke une valeur au carré dans la cellule respective jusqu'au numéro 11.

Code:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 Do Until X = 11 Cells (X, 1) .Value = X * XX = X + 1 End Sub 

Étape 9: Terminez cette boucle Do Until en entrant le mot-clé «Loop» à la fin du code.

Code:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 Do Until X = 11 Cells (X, 1) .Value = X * XX = X + 1 Loop End Sub 

Dans ce code, nous voulions avoir des valeurs au carré pour les nombres commençant de 1 à 11 (dès qu'une valeur est 11, la boucle se termine). Sous chaque cellule de la feuille Excel (jusqu'à la cellule numéro 11), les valeurs seront stockées. L'incrément de 1 unité permet à chaque fois d'augmenter un nombre de 1 dans la valeur précédente de X et la valeur au carré de ce nombre est imprimée dans la cellule respective. Par exemple, la valeur Squared pour 3 sera imprimée sous la 3ème cellule de la feuille Excel active. Cette boucle s'exécute tant que X n'est pas égal à 11. Par conséquent, sous la cellule A1 à la cellule A10, nous obtenons les valeurs au carré du nombre commençant de 1 à 10 (au numéro 11, boucle terminée).

Étape 10: Appuyez sur le bouton Exécuter ou appuyez sur la touche F5 pour exécuter ce code et voir la sortie.

Exemple # 2 - Faire jusqu'à la boucle lorsque les conditions sont vérifiées à la fin de la boucle

Suivez les étapes ci-dessous pour appliquer la boucle Do Until dans Excel VBA.

Étape 1: Définissez une nouvelle sous-procédure sous le module VBE.

Code:

 Sub Do_Until_Ex2 () End Sub 

Étape 2: Définissez une variable «Y» avec le type de données «Long». Cette variable sera utile pour boucler les conditions.

Code:

 Sub Do_Until_Ex2 () Dim Y As Sub à extrémité longue 

Étape 3: définissez la valeur initiale de la variable «Y» sur 1.

Code:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 End Sub 

Étape 4: Ajoutez la condition Do en tapant Do sur la ligne suivante après avoir défini la valeur initiale de Y sur 1.

Code:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do End Sub 

Étape 5: Ajoutez le morceau de code que vous souhaitez exécuter sous Boucle Do. Ici, nous prendrons le même exemple que ci-dessus (cela nous aidera à savoir comment les sorties sont les mêmes mais les compilations sont différentes pour deux de ces codes).

Code:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do Sheets ("Exemple 2"). Cellules (Y, 1) .Value = Y * Y End Sub 

Étape 6: Après chaque itération de la boucle, vous vouliez que la valeur soit augmentée d'une unité, définissez une commande pour cela dans la section Do.

Code:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do Sheets ("Exemple 2"). Cellules (Y, 1) .Value = Y * YY = Y + 1 End Sub 

Étape 7: Ajoutez une déclaration de clôture pour cette boucle avec un mot clé comme «boucle».

Code:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do Sheets ("Exemple 2"). Cellules (Y, 1) .Value = Y * YY = Y + 1 Loop End Sub 

Attendez! Il y a quelque chose de plus. Vous devez ajouter les critères / conditions jusqu'à sous cette boucle, cette fois après le mot clé Loop. Cela permettra au compilateur de vérifier la condition à la fin de la boucle.

Étape 8: ajoutez jusqu'à Y = 11 comme condition après le mot-clé de boucle.

Code:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do Sheets ("Exemple 2"). Cellules (Y, 1) .Value = Y * YY = Y + 1 Loop until Y = 11 End Sub 

Étape 9: Exécutez ce code en appuyant sur F5 ou sur le bouton Exécuter et voyez la magie sous la feuille nommée "Exemple 2".

Comment fonctionne ce code?

Le système se place à la valeur de Y à chaque fois sous la boucle et la stocke sous la deuxième colonne de la feuille nommée «Exemple 2», ligne par ligne. Après chaque itération, la valeur actuelle de Y est augmentée d'une unité et la valeur mise à jour est mise au carré et stockée. Tant que la valeur est inférieure à la valeur du critère (Y = 11), le code fera le carré et le stockera. Dès que le compilateur de valeurs atteint la valeur Y = 11, il arrête d'exécuter le code et le termine.

Les deux codes donnent une sortie similaire, mais logiquement, il existe une différence de compilation pour les deux. Dans le premier type de code, la condition est vérifiée au début de la boucle et si elle est False, seule la boucle commence à évaluer l'expression suivante. Cependant, dans le deuxième exemple, le code commence à exécuter la boucle et à exécuter les instructions Do au début (stockage des valeurs dans une mémoire tampon pour les instructions d'exécution). À la fin de la boucle, le compilateur propose un critère et le vérifie avec la valeur du tampon.

Choses dont il faut se rappeler

  • VBA Do Until est exactement le cas inverse d'Excel VBA Do While. La boucle VBA Do While s'exécute tant que la condition est VRAIE. Une fois que la condition est FALSE, la boucle Do While se termine. D'un autre côté, VBA Do Until s'exécute tant que la condition est FALSE. Dès que la condition est VRAIE, la boucle est terminée.
  • Il a deux façons de procéder, l'une où la condition est vérifiée au début de la boucle et l'autre où la condition est vérifiée à la fin de la boucle.

Articles recommandés

Ceci est un guide de VBA Do Until Loop. Ici, nous discutons de l'utilisation de la boucle Do Until Loop Excel VBA avec des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. VBA While Loop
  2. Formule de recherche dans Excel
  3. Tutoriels complets sur les boucles VBA
  4. Table de recherche dans Excel

Catégorie: