Partager via


Modifier par programmation le format d’affichage de tous les contacts

Dans Outlook, vous pouvez spécifier le paramètre par défaut pour le fichier des nouveaux contacts via les options de Contacts, ainsi que lorsque vous créez le nouveau contact. Par exemple, le paramètres par défaut est Nom, Prénom, qui classe un contact sur son nom, suivi de son prénom. Toutefois, changer ce paramètre ne s'applique qu'aux nouveaux contacts que vous créez. Pour les contacts qui existent déjà, si vous souhaitez modifier la façon dont leurs noms sont classés par, par exemple, en passant de la valeur par défaut Last, Firstà First, Last, vous devez soit le faire individuellement pour chaque contact existant dans l’inspecteur, soit écrire une macro pour modifier le paramètre de tous les contacts existants dans le dossier Contacts.

Cette rubrique présente un exemple de code qui passe en revue tous les éléments Contact dans le dossier Contacts par défaut et utilise la propriété FileAs de chaque élément Contact pour spécifier la chaîne par laquelle le contact doit être enregistré . Dans cet exemple particulier, la chaîne est remplacée par prénom suivi d’un vide, puis du nom de famille. L’exemple de code enregistre ensuite les modifications apportées à l’élément de contact.

Note En règle générale, un dossier dans Outlook peut contenir des éléments hétérogènes, et le dossier Contact peut contenir des objets ContactItem ainsi que d’autres éléments. L’exemple de code veille à ce qu’il ne change que le format de classement des éléments de contact en filtrant sur l’IPM.Contact de classe du message. Pour plus d’informations sur les types d’éléments et les classes de messages, voir Types d’éléments et classes de messages.

Private Sub ReFileContacts() 
 Dim items As items, item As ContactItem, folder As folder 
 Dim contactItems As Outlook.items 
 Dim itemContact As Outlook.ContactItem 
 
 Set folder = Session.GetDefaultFolder(olFolderContacts) 
 Set items = folder.items 
 Count = items.Count 
 If Count = 0 Then 
 MsgBox "Nothing to do!" 
 Exit Sub 
 End If 
 
 'Filter on the message class to obtain only contact items in the folder 
 Set contactItems = items.Restrict("[MessageClass]='IPM.Contact'") 
 
 For Each itemContact In contactItems 
 itemContact.FileAs = itemContact.FirstName + " " + itemContact.LastName 
 itemContact.Save 
 Next 
 
 MsgBox "Your contacts have been re-filed." 
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.