Boucle VBA Excel
La mise en boucle est l’une des techniques de programmation les plus puissantes. Un loop dans Excel VBA vous permet de faire une boucle à travers une gamme de cellules avec seulement quelques lignes de codes.
Boucle unique
Vous pouvez utiliser une seule boucle pour parcourir une gamme unidimensionnelle de cellules.
Placez un bouton de commande sur votre feuille de travail et ajoutez les lignes de code suivantes:DimAsIntegerForToNext
Résultat lorsque vous cliquez sur le bouton de commande sur la feuille:
Explication : Les lignes de code entre For et Next seront exécutées six fois. Pour i = 1, Excel VBA introduit la valeur 100 dans la cellule à l’intersection de la ligne 1 et de la colonne 1. Lorsque Excel VBA atteint Next i, il augmente i de 1 et revient à la déclaration For. Pour i = 2, Excel VBA introduit la valeur 100 dans la cellule à l’intersection de la ligne 2 et de la colonne 1, etc.
Note : il est bon de toujours mettre en retrait (tabulation) le code entre les mots « Pour » et « Suivant ». Cela rend votre code plus facile à lire.
Double boucle
Vous pouvez utiliser une double boucle pour parcourir une plage bidimensionnelle de cellules.
Placez un bouton de commande sur votre feuille de travail et ajoutez les lignes de code suivantes:DimAsIntegerAsIntegerForToForToNextNext
Résultat lorsque vous cliquez sur le bouton de commande sur la feuille:
Explication : Pour i = 1 et j = 1, Excel VBA introduit la valeur 100 dans la cellule à l’intersection de la ligne 1 et de la colonne 1. Lorsque Excel VBA atteint la valeur j suivante, il augmente la valeur j de 1 et revient à l’énoncé For j. Pour i = 1 et j = 2, Excel VBA introduit la valeur 100 dans la cellule à l’intersection de la ligne 1 et de la colonne 2. Ensuite, Excel VBA ignore Next j car j ne va que de 1 à 2. Lorsque Excel VBA atteint Next i, il augmente i de 1 et revient à l’instruction For i. Pour i = 2 et j = 1, Excel VBA introduit la valeur 100 dans la cellule à l’intersection de la ligne 2 et de la colonne 1, etc.
Triple boucle
Vous pouvez utiliser une triple boucle pour parcourir des plages bidimensionnelles sur plusieurs feuilles de calcul Excel.
Placez un bouton de commande sur votre feuille de travail et ajoutez les lignes de code suivantes:DimAsIntegerAsIntegerAsIntegerForToForToForToNextNextNext
Explication : La seule modification apportée par rapport au code de la double boucle est que nous avons ajouté une boucle supplémentaire et ajouté des feuilles de travail (c). devant les cellules pour obtenir la plage bidimensionnelle sur la première feuille pour c = 1, la deuxième feuille pour c = 2 et la troisième feuille pour c = 3. Téléchargez le fichier Excel pour voir ce résultat.
Do While Loop
Outre la boucle For Next, il existe d’autres boucles dans Excel VBA. Par exemple, la boucle Do While. Le code placé entre Do While et Loop sera répété aussi longtemps que la partie après Do While est vraie.
1. placez un bouton de commande sur votre feuille de calcul et ajoutez les lignes de code suivantes:DimAsDoWhileLoop
Résultat lorsque vous cliquez sur le bouton de commande sur la feuille:
Explication : tant que i est inférieur à 6, Excel VBA introduit la valeur 20 dans la cellule à l’intersection de la ligne i et de la colonne 1 et incrémente i par 1. Dans Excel VBA (et dans d’autres langages de programmation), le symbole « = » signifie devient. Il ne signifie pas « égal ». Ainsi, i = i + 1 signifie que i devient i + 1. En d’autres termes : prenez la valeur actuelle de i et ajoutez-y 1. Par exemple, si i = 1, i devient 1 + 1 = 2. Par conséquent, la valeur 20 sera placée cinq fois dans la colonne A (et non six car Excel VBA s’arrête lorsque i est égal à 6).
2. Entrez quelques chiffres dans la colonne A.
3. Placer une commande
Source : excel-easy
Autres Tuto Excel : boucle while vba – convertir des cm en pouces – excel liste déroulante couleur – comment faire une multiplication sur excel – explication vlookup – créer une macro excel – lbs en kg – convertir lbs en kg – 5 lbs en kg – 10 lbs en kg – 1 lbs en kg – formule tcam