Comment utiliser l’instruction For Each…Next dans VBA ?

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.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project