Les boucles font partie intégrante de tout langage de codage, et vous pouvez automatiser de nombreuses tâches répétitives en utilisant une variété de boucles, en fonction du langage utilisé. Le VBA d’Excel n’est pas différent des autres, puisqu’il offre une série d’options de bouclage, chacune servant un objectif différent.
Vous pouvez utiliser ces boucles en définissant les points de départ et d’arrivée, les conditions et les paramètres. L’une des principales boucles de VBA est la boucle « do-while », que vous pouvez utiliser pour automatiser des données. Voici comment utiliser la boucle do-while d’Excel VBA, une méthodologie de bouclage essentielle qui peut simplifier considérablement vos tâches manuelles.
Qu’est-ce que la boucle Do-While dans Excel VBA ?
La boucle do-while est assez simple ; vous pouvez utiliser cette boucle pour faire votre travail si vous voulez générer une sortie souhaitée en fonction d’une condition spécifique. La boucle s’exécute jusqu’à ce que la ou les conditions définies soient vraies. Lorsque le programme rencontre une valeur Faux, la boucle se termine et imprime les résultats dans les cellules désignées.
Vous pouvez utiliser la boucle do-while à différents stades et avec différents critères ; vous pouvez même utiliser plusieurs boucles à l’intérieur de la boucle externe principale pour améliorer son utilisation. En tant que débutant, vous devriez vous référer à des tutoriels de programmation VBA élaborés pour approfondir vos connaissances et vos compétences dans ce domaine.
Syntaxe de la boucle Do-While dans Excel VBA
La boucle do-while a une structure prédéfinie que vous devez respecter pour qu’elle fonctionne sans problème et sans erreur. Voici la syntaxe à titre de référence :
Do while [condition_reference]
[Criteria statements]
Loop
La boucle commence par le mot-clé do-while, suivi des références de départ et d’arrivée. La première partie de la syntaxe contrôle l’ensemble de la boucle. Ensuite, vous devez définir les instructions qui s’exécuteront à chaque fois que la boucle s’exécutera.
Enfin, lorsque la condition de la boucle obtient la valeur False, le mot-clé loop s’exécute et sort de la boucle. Il s’agit d’une structure générale ; vous pouvez l’affiner pour effectuer différentes actions. Voici quelques exemples pour vous familiariser avec le fonctionnement d’une boucle do-while.
Écrire votre premier code de boucle Do-While
Supposons que vous vouliez afficher les multiples de deux dans la colonne A. La condition est d’imprimer les nombres jusqu’à ce que le compteur atteigne 20.
Pour ce faire, accédez à l’onglet Développeur de votre Excel et ouvrez l’éditeur de code ; vous pouvez également appuyer sur la touche Alt + F11 pour ouvrir directement l’éditeur de code. Dans la fenêtre de l’éditeur de code, cliquez sur le bouton Insérer et ajoutez un nouveau module.
Vous devez écrire tout le code dans la fenêtre de ce module. Ajoutez le code suivant à l’intérieur du module :
Sub dowhileloop()
Dim a As Integer
a = 1
Do While a <= 10
Cells(a, 1) = 2 * a
a = a + 1
Loop
End Sub
Le code expliqué
Voici une décomposition du code pour vous aider à maîtriser les bases :
- Utiliser une sous-routine : Pour commencer à écrire le code dans Excel VBA, créez une enveloppe extérieure avec une fonction de sous-programme (Sub). Donnez-lui un nom significatif, qui résonne avec l’objectif du code. Dans cet exemple, vous pouvez utiliser le nom dowhileloop, suivi de ().
- Définir les types de données : La fonction dimension (dim) doit être utilisée pour déclarer les types de données des variables. En déclarant le type de données, vous pouvez rendre votre code efficace et améliorer la vitesse d’exécution. Dans ce cas, la variable a stocke des valeurs entières, utilisez donc le type de données integer pour la définir. Vous pouvez stocker le numéro de la ligne de départ dans cette variable, afin de déclarer le point de départ de votre boucle « do-while ».
- Définir la/les condition(s) : Il est maintenant temps de passer la condition pour contrôler la boucle do-while. Vous pouvez utiliser la fonction do while suivi de la condition. Comme vous voulez exécuter la boucle dix fois, vous utilisez la condition a < ; = 10.
- Passer les déclarations exécutables : Il est important que vous connaissiez la différence entre la fonction Cellules et la fonction Plage dans VBA. La fonction Cells utilise les références de ligne et de colonne dans VBA. Par exemple, lors de la première itération, lorsque la valeur de a =1, la formule de la cellule est (1,1). Dans la mémoire de VBA, cela se traduit par la cellule A1. Chaque fois que la boucle s’exécute, la valeur de la variable définie s’incrémente et la référence se déplace vers la prochaine cellule disponible.
- Incrémentez votre variable : Vous pouvez passer a = a + 1 pour incrémenter les valeurs des cellules. La boucle passe ainsi à la partie suivante de la condition ; elle continue à fonctionner jusqu’à ce que la condition obtienne la valeur Faux.
- Quitter la condition de la boucle: Une fois que la condition est fausse, la boucle se termine avec le mot-clé Loop, et enfin, elle quitte le sous-programme avec le mot-clé End Sub.
- Exécution du code : Le code étant prêt, il suffit d’appuyer sur la touche F5 ou le bouton vert de lecture dans la barre de menu supérieure pour exécuter le code.
Le résultat final montre une liste de nombres de 2 à 20 dans la colonne A.
Utilisation d’une colonne pré-remplie comme condition de boucle
Maintenant que vous avez compris la syntaxe et les nuances de la construction d’une structure de base, pourquoi ne pas écrire un autre code pour imprimer des nombres similaires sur la base de critères préexistants ? Par exemple, vous pouvez créer une condition de boucle qui prend son repère dans la colonne A et imprime la sortie dans la colonne B.
En fonction du nombre total de cellules remplies dans la colonne A, vous pouvez imprimer des multiples de deux dans la colonne B. La boucle s’exécute en se basant sur le nombre total de cellules préremplies de la colonne A. Puisque la valeur de la ligne de départ est un (a =1), la valeur de fin est dynamique et est calculée automatiquement par la boucle do-while.
En utilisant la valeur de la ligne, le code parcourt en boucle chaque cellule de la colonne A et multiplie le nombre par 2. Le résultat est affiché dans la colonne B.
S’il y a plus de dix valeurs dans la colonne A, la boucle s’exécutera jusqu’à ce qu’elle rencontre une valeur vide dans la première colonne. De même, vous pouvez écrire des conditions encore plus complexes dans la boucle do-while et l’utiliser pour vérifier les conditions et afficher les résultats si nécessaire.
Utilisation d’une instruction IF dans une boucle Do-While
Comme pour les boucles imbriquées, vous pouvez utiliser l’instruction IF à l’intérieur d’une boucle Do-While pour ajouter une autre couche de conditions. Dans ce cas, la boucle Do-While exécute l’ensemble de la boucle jusqu’à ce que la condition soit False, et l’instruction IF interne s’exécute à chaque fois que la boucle s’exécute.
Dans l’exemple ci-dessous, la boucle « do-while » parcourt chaque cellule de la colonne A jusqu’à ce qu’elle rencontre une cellule vide. Ensuite, l’instruction IF vérifie la valeur de chaque cellule de la colonne A et imprime la sortie dans la colonne B. Dès que la boucle externe rencontre une cellule vide dans la colonne A, la boucle s’arrête et quitte le sous-programme.
La sortie est la suivante :
Jusqu’à ce que la valeur de la colonne A soit inférieure ou égale à cinq, la valeur résultante dans la colonne B est cinq. Dans A6, puisque la valeur de la cellule est supérieure à cinq, la sortie résultante est sept, ce qui est en phase avec la condition IF.
Découvrir les multiples facettes des fonctionnalités de VBA
Excel et VBA forment une combinaison très favorable pour effectuer des analyses de données avancées. Même sans VBA, vous pouvez utiliser diverses fonctions logiques d’Excel pour effectuer des tâches complexes, mettant ainsi en évidence vos compétences en programmation.
Si vous êtes intéressé par l’analyse de données et que vous utilisez Excel dans le cadre de vos activités régulières, vous pouvez tirer un grand bénéfice de l’utilisation des fonctions logiques polyvalentes d’Excel.