Les boucles en VBA : faites tourner votre code comme un DJ !
Salut les Admins en herbe ! Aujourd’hui, on va parler des boucles en VBA. C’est comme si vous mettiez votre code sur « repeat » pour qu’il fasse la même chose encore et encore. Pratique, non ? Alors, on se lance dans cette aventure qui tourne en rond !
C’est quoi une boucle ?
Une boucle, c’est comme un manège : ça tourne, ça tourne, jusqu’à ce qu’on dise stop. En programmation, ça permet de répéter des actions sans avoir à réécrire le même code 50 fois. Imaginez que vous devez écrire « Je ne copierai plus le code de mon voisin » 100 fois. Fastidieux, non ? Avec une boucle, vous l’écrivez une fois, et pouf ! La magie opère.
Pourquoi utiliser des boucles ?
Les boucles, c’est un peu comme votre meilleur pote qui fait les corvées à votre place. Elles sont là pour :
- Automatiser des tâches répétitives (bye bye, copier-coller infini !)
- Parcourir des données (comme lire tous les noms d’une liste)
- Faire des calculs sur plein de valeurs d’un coup
- Créer des animations (si, si, même en VBA !)
Bref, les boucles, c’est la vie !
Les types de boucles en VBA
1. La boucle For…Next : le métronome du code
C’est la boucle classique, celle que tout le monde connaît. Elle répète un bloc de code un nombre précis de fois.
Syntaxe de base :
For compteur = début To fin [Step pas]
' Code à répéter
Next compteur
Exemple pour tester :
Sub TestForNext()
Dim i As Integer
For i = 1 To 5
Debug.Print "Tour numéro " & i
Next i
End Sub
Astuce de pro : Vous pouvez utiliser « Step » pour changer le pas de la boucle. Par exemple, For i = 10 To 0 Step -2
compte à rebours de 2 en 2 !
2. La boucle Do…Loop : la boucle qui ne s’arrête jamais (ou presque)
Cette boucle, c’est un peu le marathon du code. Elle continue jusqu’à ce qu’une condition soit remplie (ou pas remplie, selon comment vous la configurez).
Il y a quatre façons de l’utiliser :
a) Do While…Loop : Vérifie la condition au début
Do While condition
' Code à répéter
Loop
b) Do…Loop While : Vérifie la condition à la fin
Do
' Code à répéter
Loop While condition
c) Do Until…Loop : Répète jusqu’à ce que la condition soit vraie
Do Until condition
' Code à répéter
Loop
d) Do…Loop Until : Vérifie la condition à la fin
Do
' Code à répéter
Loop Until condition
Exemple pour tester :
Sub TestDoLoop()
Dim compteur As Integer
compteur = 0
Do While compteur < 5
compteur = compteur + 1
Debug.Print "Compteur : " & compteur
Loop
Do
compteur = compteur - 1
Debug.Print "Compte à rebours : " & compteur
Loop Until compteur = 0
End Sub

3. La boucle For Each…Next : le passe-partout des collections
Cette boucle est parfaite quand vous voulez parcourir tous les éléments d’une collection ou d’un tableau. C’est comme si vous faisiez l’appel dans une classe.
Syntaxe de base :
For Each élément In collection
' Code à répéter pour chaque élément
Next élément
Exemple pour tester :
Sub TestForEach()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
Debug.Print "Nom de la feuille : " & ws.Name
Next ws
End Sub
Le grand final : un exemple qui regroupe tout !
Maintenant, mettons tout ça ensemble dans un exemple épique :
Sub GrandFinalBoucles()
Dim i As Integer, j As Integer
Dim somme As Long
Dim message As String
' Utilisation de For...Next
For i = 1 To 5
somme = 0
' Utilisation de Do...Loop
j = 1
Do
somme = somme + j
j = j + 1
Loop Until j > i
message = "La somme des nombres de 1 à " & i & " est : " & somme
' Utilisation de If...Then (structure conditionnelle)
If somme Mod 2 = 0 Then
message = message & " (C'est un nombre pair !)"
Else
message = message & " (C'est un nombre impair !)"
End If
Debug.Print message
Next i
' Utilisation de For Each...Next
Dim ws As Worksheet
Debug.Print "Liste des feuilles du classeur :"
For Each ws In ThisWorkbook.Worksheets
Debug.Print "- " & ws.Name
Next ws
End Sub
Et voilà ! Vous êtes maintenant un maître des boucles en VBA. Avec ces super-pouvoirs, vous allez pouvoir faire tourner votre code comme un DJ professionnel !
N’oubliez pas, la pratique fait le maître. Alors amusez-vous, expérimentez, et surtout, n’ayez pas peur de faire des erreurs. C’est comme ça qu’on apprend !
Pour aller plus loin et devenir un vrai ninja du VBA, jetez un œil à nos articles sur les bases de VBA, les variables, les opérateurs et les structures conditionnelles. Vous y trouverez plein d’autres astuces pour devenir un pro du code !
Allez, à vos claviers, et que la force de la boucle soit avec vous !