For Each...Next, instruction

Répète un groupe d’instructions pour chaque élément dans une matrice ou une collection.

Syntaxe

For Each, élémentdans legroupe
[ statements ]
[ Exit For ]
[ statements ]
Next [ element ]

La syntaxe de l’instruction For...Each...Next comprend les éléments suivants :

Élément Description
element Requis. Variable utilisée pour itérer les éléments de la collection ou de la matrice. Pour les collections, l’élément ne peut être qu’une variable Variant , une variable objet générique ou une variable objet spécifique. Pour les matrices, élément ne peut être qu’une variable Variant.
groupe Obligatoire. Nom d’une collection ou d’une matrice d’objets (à l’exception d’une matrice detypes définis par l’utilisateur).
statements Facultatif. Une ou plusieurs instructions exécutées sur chaque élément dans group.

Remarques

Le bloc For…Each est entré s’il existe au moins un élément dans group. Une fois la boucle entrée, toutes les instructions de la boucle sont exécutées pour le premier élément du groupe. S’il y a d’autres éléments dans group, les instructions de la boucle continuent de s’exécuter pour chaque élément. Lorsqu’il n’y a plus d’élément dans group, la boucle est terminée et l’exécution continue avec l’instruction qui suit l’instruction Next.

N’importe quel nombre d’instructions Exit For peuvent être placées n’importe où dans la boucle comme alternative pour quitter. Exit For est souvent utilisée après l'évaluation d'une certaine condition, par exemple If…Then, et elle transfère le contrôle à l'instruction qui suit immédiatement Next.

Vous pouvez imbriquer des boucles For...Each...Next en plaçant une boucle For…Each…Next dans une autre. Cependant, chaque boucle element doit être unique.

Remarque

Si vous omettez element dans une instruction Next, l’exécution continue comme si element était inclus. Si une instruction Next est rencontrée avant son instruction For correspondante, une erreur se produit.

Vous ne pouvez pas utiliser l’instruction For...Each...Next avec une matrice de types définis par l’utilisateur car un Variant ne peut pas contenir de type défini par l’utilisateur.

Exemple

Cet exemple utilise l’instruction For Each...Next pour effectuer une recherche dans la propriété Text de tous les éléments d’une collection afin de vérifier l’existence de la chaîne « Hello ». Dans l’exemple, MyObject est un objet texte et un élément de la collection MyCollection. Tous deux sont des noms génériques utilisés uniquement à des fins d'illustration.

Dim Found, MyObject, MyCollection 
Found = False    ' Initialize variable. 
For Each MyObject In MyCollection    ' Iterate through each element.  
    If MyObject.Text = "Hello" Then    ' If Text equals "Hello". 
        Found = True    ' Set Found to True. 
        Exit For    ' Exit loop. 
    End If 
Next

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.