Parfait !
Voici un résumé clair et complet sur les boucles en VBA, avec
types de boucles, syntaxe, exemples et bonnes pratiques.
📘 Résumé de cours : Les boucles
en VBA
🔹 1. Qu’est-ce qu’une boucle ?
Une boucleest une structure de programmation qui permet de répéter une ou
plusieurs instructionsplusieurs fois, jusqu’à ce qu’une condition soit remplie
ou selon un nombre de répétitions.
🔹 2. Types de boucles en VBA
VBA propose 4 principaux types de boucles :
1. For … Next
2. For Each … Next
3. Do While … Loop
4. Do Until … Loop
🔹 3. La boucle For … Next
Syntaxe :
For compteur = debut To fin [Step pas] ' instructions Next compteur
· compteur: variable de contrôle
· debut / fin: bornes de la boucle
· Step(optionnel) : incrémentation (peut être négatif)
Exemple :
Dim i As Integer For i = 1 To 5 [Link] "Valeur i = " & i Next i
✅ Boucle exécutée 5 fois, i = 1,2,3,4,5
🔹 4. La boucle For Each … Next
· Utilisée pour parcourir une collection d’objets(Range, Worksheet,
Workbook…)
Syntaxe :
For Each objet In collection ' instructions Next objet
Exemple :
Dim c As Range For Each c In Range("A1:A5") [Link] = "Test" Next c
🔹 5. La boucle Do While … Loop
· Répète tant qu’une condition est vraie.
· Vérifie la condition avantd’exécuter le code (peut ne jamais s’exécuter).
Syntaxe :
Do While condition ' instructions Loop
Exemple :
Dim n As Integer n = 1 Do While n <= 5 [Link] n n = n + 1 Loop
🔹 6. La boucle Do Until … Loop
· Répète tant qu’une condition est fausse.
· Vérifie la condition avantd’exécuter le code.
Syntaxe :
Do Until condition ' instructions Loop
Exemple :
Dim n As Integer n = 1 Do Until n > 5 [Link] n n = n + 1 Loop
🔹 7. Boucles avec contrôle de sortie
· Exit For: quitte immédiatement une boucle For
· Exit Do: quitte immédiatement une boucle Do
Exemple :
Dim i As Integer For i = 1 To 10 If i = 5 Then Exit For [Link] i Next i
🔹 8. Boucles imbriquées
· On peut imbriquer des boucles(une boucle dans une autre)
Exemple :
Dim i As Integer, j As Integer For i = 1 To 3 For j = 1 To 3 [Link] "i=" & i & "
j=" & j Next j Next i
🔹 9. Bonnes pratiques
✅ Toujours déclarer la variable compteur(Option Explicit)
✅ Éviter les boucles infinies(condition jamais vraie/fausse)
✅ Pour parcourir des objets, préférer For Each
✅ Utiliser Exit For / Exit Dopour optimiser la sortie d’une boucle
✅ Limiter le nombre d’itérations pour améliorer les performances
🔹 10. Résumé visuel
Vérification
Boucle Condition Type
avant/après
Nombre fixe
For … Next Compteur Avant
d’itérations
Parcours d’une
For Each … Next Objet Avant
collection
Tant que
Do While … Loop Condition Avant
condition = True
Tant que
Do Until … Loop Condition Avant
condition = False
🔹 11. Exemple complet : combiner boucles
et conditions
Sub ExempleBoucles() Dim ws As Worksheet Dim c As Range ' Parcourir toutes
les feuilles For Each ws In [Link] ' Parcourir les 10 premières
cellules de la colonne A For Each c In [Link]("A1:A10") If IsEmpty([Link])
Then [Link] = "Vide" End If Next c Next ws End Sub
Si tu veux, je peux te préparer une fiche PDF récapitulative sur les boucles
VBA, avec schémas, types de boucles, exemples et mini-exercices
corrigéspour réviser rapidement.
Veux-tu que je fasse ça ?
Parfait ! Voici un résumé complet et clair sur les structures de contrôle en
VBA, avec explications, syntaxe et exemples.
📘 Résumé de cours : Les
structures de contrôle en VBA
Les structures de contrôlepermettent de modifier le flux d’exécution
d’une macroselon des conditions ou de répéter des instructions.
En VBA, elles se divisent en deux grandes catégories :
1. Structures conditionnelles
2. Structures itératives (boucles)
🔹 1. Les structures conditionnelles
Les structures conditionnelles permettent d’exécuter certaines instructions
seulement si une condition est vraie.
1️⃣If … Then … Else
Syntaxe simple :
If condition Then ' instructions si condition vraie End If
Syntaxe avec Else :
If condition Then ' instructions si condition vraie Else ' instructions si condition
fausse End If
Syntaxe avec ElseIf :
If condition1 Then ' instructions1 ElseIf condition2 Then ' instructions2 Else '
instructions si toutes les conditions fausses End If
Exemple :
Dim age As Integer age = 18 If age >= 18 Then MsgBox "Vous êtes majeur" Else
MsgBox "Vous êtes mineur" End If
1️⃣Case Select (Select Case)
· Utile quand on a plusieurs conditions à testersur une même variable.
· Plus lisible que plusieurs If … ElseIf.
Syntaxe :
Select Case variable Case valeur1 ' instructions Case valeur2 ' instructions Case
Else ' instructions si aucune correspondance End Select
Exemple :
Dim jour As Integer jour = 3 Select Case jour Case 1 MsgBox "Lundi" Case 2
MsgBox "Mardi" Case 3 MsgBox "Mercredi" Case Else MsgBox "Autre jour" End
Select
🔹 2. Les structures itératives (boucles)
Les boucles permettent de répéter des instructions plusieurs fois.
2️⃣For … Next
· Répétition avec un compteur fixe.
For i = 1 To 5 [Link] i Next i
2️⃣For Each … Next
· Parcours d’objets ou d’une collection.
Dim c As Range For Each c In Range("A1:A10") [Link] = "Test" Next c
2️⃣Do While … Loop
· Répète tant que la condition est vraie.
Do While i <= 5 [Link] i i = i + 1 Loop
2️⃣Do Until … Loop
· Répète tant que la condition est fausse.
Do Until i > 5 [Link] i i = i + 1 Loop
🔹 3. Exit For / Exit Do
· Permet de quitter une boucle avant sa fin.
For i = 1 To 10 If i = 5 Then Exit For Next i
🔹 4. Structures de contrôle imbriquées
· On peut imbriquer If, Select Case et bouclespour gérer des cas
complexes.
Exemple :
Dim ws As Worksheet Dim c As Range For Each ws In [Link]
For Each c In [Link]("A1:A10") If IsEmpty([Link]) Then [Link] = "Vide"
ElseIf [Link] < 0 Then [Link] = 0 End If Next c Next ws
🔹 5. Bonnes pratiques
✅ Toujours utiliser Option Explicitpour déclarer les variables.
✅ Préférer Select Casepour plusieurs conditions sur une même variable.
✅ Éviter les boucles infinies(Do While ou Do Until).
✅ Documenter les conditions complexes pour la lisibilité.
🔹 6. Tableau récapitulatif
Condition /
Structure Utilité Exemple
Parcours
Condition simple If age>=18
If … Then … Else Vrai / Faux
ou multiple Then ... Else ...
Plusieurs valeurs Select Case
Select Case Variable = valeur
possibles jour ...
Répétition avec
For … Next i = debut To fin For i=1 To 10
compteur
For Each c In
For Each … Next Parcours d’objets Collection
Range("A1:A10")
Tant que
Do While … Loop Condition Do While i<10
condition vraie
Tant que
Do Until … Loop Condition Do Until i>10
condition fausse
Si tu veux, je peux te préparer une fiche PDF complète “Structures de
contrôle VBA”, avec schémas visuels, exemples commentés et mini-
exercices corrigéspour réviser facilement.
Veux-tu que je fasse ça ?