Exécution d'une boucle dans une collection
Vous pouvez exécuter une boucle sur les éléments d'une collection de différentes manières. Il est néanmoins recommandé d'utiliser la boucle For Each...Next. Dans cette structure, Visual Basic répète un bloc d’instructions pour chaque objet d’une collection. Cet exemple montre comment afficher le nom de chaque document contenu dans la collection Documents.
Sub LoopThroughOpenDocuments()
Dim docOpen As Document
For Each docOpen In Documents
MsgBox docOpen.Name
Next docOpen
End Sub
Au lieu d'afficher un nom d'élément par boîte de message, vous pouvez utiliser un tableau pour stocker l'ensemble des noms. Cet exemple montre comment utiliser un tableau pour stocker l'ensemble des signets contenus dans le document actif.
Sub LoopThroughBookmarks()
Dim bkMark As Bookmark
Dim strMarks() As String
Dim intCount As Integer
If ActiveDocument.Bookmarks.Count > 0 Then
ReDim strMarks(ActiveDocument.Bookmarks.Count - 1)
intCount = 0
For Each bkMark In ActiveDocument.Bookmarks
strMarks(intCount) = bkMark.Name
intCount = intCount + 1
Next bkMark
End If
End Sub
Vous pouvez exécuter une boucle dans une collection pour effectuer une tâche de manière conditionnelle sur les membres de la collection. Par exemple, le code ci-dessous permet de mettre à jour les champs DATE contenus dans le document actif.
Sub UpdateDateFields()
Dim fldDate As Field
For Each fldDate In ActiveDocument.Fields
If InStr(1, fldDate.Code, "Date", 1) Then fldDate.Update
Next fldDate
End Sub
Vous pouvez exécuter une boucle dans une collection pour déterminer l'existence d'un élément. Par exemple, le code ci-dessous permet d'afficher un message si une insertion automatique nommée « Filename » figure dans la collection AutoTextEntries.
Sub FindAutoTextEntry()
Dim atxtEntry As AutoTextEntry
For Each atxtEntry In ActiveDocument.AttachedTemplate.AutoTextEntries
If atxtEntry.Name = "Filename" Then _
MsgBox "The Filename AutoText entry exists."
Next atxtEntry
End Sub
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.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour