Une boucle For Each...Next est semblable à une boucle For...Next. Au lieu de répéter les instructions un nombre indiqué de fois, une boucle For Each...Next répète un groupe d'instructions pour chaque élément d'une collection d'objets ou pour chaque élément d'un tableau. Ceci est particulièrement utile si vous ne connaissez pas le nombre d'éléments contenus dans une collection.
Les exemples suivants illustrent l'utilisation de la boucle For Each...Next :
Exemple 1 :
Sub DisplayDictionaryItems()
Dim d, item, item1
Set d = CreateObject("Scripting.Dictionary")
d.Add "0", "Athens"
d.Add "1", "Belgrade"
d.Add "2", "Cairo"
For Each item In d.Items
'Will print Items here
Next
End Sub
Exemple 2 :
Sub DisplayArrayItems()
Dim myArray, item
myArray = Array("Apple", "Banana", "Cherry")
For Each item In myArray
'Each element of the array.
Next
End Sub
Exemple 3 :
Sub DisplayCollectionItems()
Dim coll, item
Set coll = CreateObject("Scripting.Dictionary")
coll.Add "A", "Apple"
coll.Add "B", "Banana"
coll.Add "C", "Cherry"
' Corrected iteration to log values
For Each item In coll.Items
'The items will be printed here
Next
End Sub