VBA Do Loops - Comment utiliser Excel VBA Do Loops?

Table des matières

Boucle Excel VBA Do

Boucle VBA Do , c'est un ensemble d'instructions à l'intérieur d'une sous-procédure où le code s'exécute un nombre spécifique de fois jusqu'à ce que les critères souhaités soient atteints ou qu'un seuil soit dépassé ou que l'on puisse dire cela jusqu'à ce que les données requises soient obtenues.

Alors que la boucle fonctionne sur des résultats logiques, elle continue à exécuter la boucle d'avant en arrière tant que la condition de test est VRAI. Au moment où la condition de test retourne FALSE, elle sortira de la boucle. Les boucles sont au cœur de tout langage de programmation. Dans nos articles, nous démontrons l'importance des boucles et les moyens de les coder. Dans cet article, nous vous montrons comment utiliser Do Loop.

Comment utiliser la boucle VBA Do?

Exemple # 1 - Condition à la fin de la boucle

Nous avons vu le test de condition au début de la boucle. Dans le code précédent, nous avons vu l'exemple de l'insertion de numéros de série, et le code était comme ça.

Code:

Sub Do_While_Loop_Example1 () Dim k As Long k = 1 Do While k <= 10 Cells (k, 1) .Value = kk = k + 1 Loop End Sub

Vous pouvez maintenant exécuter ce code manuellement ou via la touche de raccourci F5 pour voir le résultat.

Ce code insérera les numéros de série de 1 à 10.

Mais nous pouvons également tester la condition à la fin de la boucle. Nous devons utiliser le mot «while» et le test de condition à la fin après le mot Loop.

Le seul changement ici est d'appliquer le test à la fin, comme indiqué ci-dessous.

Code:

Sub Do_While_Loop_Example1 () Dim k As Long k = 1 Do Cells (k, 1) .Value = kk = k + 1 Loop While k <= 10 End Sub

De cette manière, nous pouvons également tester la condition à la fin de l'instruction de boucle.

Remarque: le code s'exécutera, puis il testera la condition pour revenir en boucle une fois de plus ou non. Cela signifie qu'il s'exécutera en premier, puis essaiera la situation plus tard.

Exemple # 2 - Sommation utilisant la boucle Do While

Supposons que vous ayez des données sur les ventes et les coûts dans votre feuille Excel. Vous trouverez ci-dessous l'ensemble de données factices que j'ai créées pour le calcul.

Nous devons maintenant obtenir la valeur du profit dans la colonne C. J'ai déjà créé un code qui fera un travail pour moi.

Code:

Sub Do_While_Loop_Example2 () Dim k As Long Dim LR As Long k = 2 LR = Cells (Rows.Count, 1) .End (xlUp) .Row Do While k <= LR Cells (k, 3) .Value = Cells (k , 1) + Cellules (k, 2) k = k + 1 Sous-fin de boucle
LR = Cellules (Rows.Count, 1) .End (xlUp) .Row

Ce code identifiera la dernière ligne utilisée dans la première colonne. Cela rend le code dynamique car s'il y a un ajout ou une suppression des données, cela ajustera le temps de ma séquence pour exécuter la boucle.

k = 2

Nous voulons que le calcul soit fait à partir de la deuxième cellule. La valeur initiale de k est donc 2.

Faire pendant que k <= LR

Comme je l'ai dit, LR trouvera la dernière ligne utilisée dans la première colonne. Cela signifie que la boucle fonctionnera tant que k est <= à la valeur de LR. Dans ce cas, j'ai 10 lignes, donc LR = 10.

La boucle fonctionnera jusqu'à ce que la valeur k atteigne 10. Une fois que la quantité a dépassé 10 boucles, elle s'arrêtera.

Vous pouvez maintenant exécuter ce code à l'aide de la touche de raccourci F5 ou manuellement pour voir le résultat.

Exemple # 3 - Instruction Exit dans la boucle Do While

Nous pouvons également sortir de la boucle tant que la condition est toujours TRUE uniquement. Par exemple, prenez ici également les données ci-dessus.

Supposons que vous ne vouliez pas faire le calcul complet, mais que vous ne deviez calculer que les 5 premières lignes de profit, et dès qu'il atteint la 6 e ligne, vous voulez sortir de la boucle. Cela peut être fait en utilisant la fonction IF dans Excel. Le code ci-dessous comprend l'instruction de sortie.

Code:

Sub Do_While_Loop_Example3 () Dim k As Long Dim LR As Long k = 2 LR = Cells (Rows.Count, 1) .End (xlUp) .Row Do While k 6 Then Exit Do Cells (k, 3) .Value = Cells ( k, 1) + Cellules (k, 2) k = k + 1 Sous-fin de boucle
"Si k> 6 Alors Quittez Do"

Cette ligne de code lancera le processus de sortie. La boucle continuera à fonctionner jusqu'à ce que la valeur de k atteigne 6. Au moment où elle dépasse 6, si la condition exécutera le code, «Exit Do».

Vous pouvez maintenant exécuter ce code à l'aide de la touche de raccourci F5 ou manuellement pour voir le résultat.

Choses dont il faut se rappeler

  • Faire. La boucle fonctionne sur des résultats logiques et continue à exécuter la boucle d'avant en arrière tant que la condition de test est TRUE. Au moment où la condition de test retourne FALSE, elle sortira de la boucle.
  • Nous pouvons sortir de la boucle à tout moment en ajustant un autre test logique à l'intérieur du cercle en utilisant la fonction IF.
  • Si la condition ou le test est fourni en haut de la boucle, il vérifiera d'abord le test et ne progressera plus que s'il est VRAI.
  • Si la condition ou le test est fourni à la fin de la boucle, il exécutera d'abord le bloc de code à l'intérieur de l'instruction de boucle, et à l'avenir, il testera la condition pour décider s'il faut revenir en arrière pour exécuter la boucle une fois de plus ou non.

Articles intéressants...