Membre requis inexistant dans la collection

L'erreur indiquant que le membre requis n'existe pas dans la collection se produit lorsque vous essayez d'accéder à un objet qui n'existe pas. Par exemple, l'instruction ci-dessous risque de générer une erreur si le document actif ne contient pas au moins un tableau.

Sub SelectTable() 
 ActiveDocument.Tables(1).Select 
End Sub

Pour éviter cette erreur, assurez-vous que le membre auquel vous souhaitez accéder existe bien dans la collection correspondante. Si vous accédez au membre par numéro d’index, vous pouvez utiliser la propriété Count de la collection pour déterminer si le membre existe. Cet exemple montre comment sélectionner le premier tableau si le document actif contient au moins un tableau.

Sub SelectFirstTable() 
 If ActiveDocument.Tables.Count > 0 Then 
 ActiveDocument.Tables(1).Select 
 Else 
 MsgBox "Document doesn't contain a table" 
 End If 
End Sub

Si vous accédez à un membre d’une collection en spécifiant son nom, vous pouvez exécuter une boucle sur les éléments d’une collection en utilisant For Each...Next pour déterminer si le membre nommé fait partie de la collection. L'exemple ci-dessous montre comment supprimer la correction automatique nommée « acheive » si elle figure dans la collection AutoCorrectEntries. Pour plus d'informations, voir Exécution d'une boucle dans une collection.

Sub DeleteAutoTextEntry() 
 Dim aceEntry As AutoCorrectEntry 
 For Each aceEntry In AutoCorrect.Entries 
 If aceEntry.Name = "acheive" Then aceEntry.Delete 
 Next aceEntry 
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.