![](https://codky.com/wp-content/uploads/2024/11/2804-1024x576.png)
L’instruction `For Each…Next` en VBA (Visual Basic for Applications) est utilisée pour itérer à travers chaque élément d’une collection ou d’un tableau. Elle est particulièrement utile pour parcourir des collections dans Excel, comme les cellules d’une plage, les feuilles de calcul dans un classeur, ou les objets dans une collection personnalisée. Voici comment l’utiliser :
Structure de base :
Dim variable As Object
For Each variable In collection
' Instructions à exécuter pour chaque élément
Next variable
Exemple d’itération sur une plage de cellules :
Sub ExampleForEach()
Dim cell As Range
Dim rng As Range
' Définir la plage sur laquelle vous souhaitez itérer
Set rng = ThisWorkbook.Sheets("Feuille1").Range("A1:A10")
' Itérer à travers chaque cellule de la plage
For Each cell In rng
' Par exemple, remplir chaque cellule avec un texte
cell.Value = "Bonjour"
Next cell
End Sub
Exemple d’itération sur les feuilles de calcul d’un classeur :
Sub ListAllSheetNames()
Dim ws As Worksheet
' Itérer à travers chaque feuille de calcul dans le classeur actif
For Each ws In ThisWorkbook.Sheets
' Afficher le nom de chaque feuille
Debug.Print ws.Name
Next ws
End Sub
Explications supplémentaires :
- Variable : La variable utilisée dans l’instruction `For Each` doit être déclarée comme un objet approprié à la collection que vous parcourez (par exemple, `Range`, `Worksheet`).
- Collection : Cela peut être une plage de cellules, des feuilles de calcul, des `ChartObjects`, etc.
- Next : Cette instruction termine la boucle et dit au programme de passer à l’élément suivant de la collection.
L’utilisation de `For Each…Next` est particulièrement avantageuse en termes de lisibilité et de maintenance du code, surtout lorsqu’on travaille avec des collections d’objets dans Excel.