[VB6 + OUTLOOK] Test d'existance d'un contact

[Résolu]
Signaler
Messages postés
133
Date d'inscription
lundi 26 janvier 2009
Statut
Membre
Dernière intervention
24 novembre 2014
-
Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
-
Hello !

Je souhaiterais savoir s'il existe une méthode permettant de vérifier si un contact existe dans le carnet d'adresses Outlook ?

De plus, j'aimeraisa savoir s'il est possible de mettre à jour un contact via VB par exemple, sans devoir le supprimer puis le recréer ?

Merci pour vos réponses ;-)

PS : Ce serait de VB6 vers Outlook XP

4 réponses

Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
28
bonsoir





j'espere que ces infos pourront t'aider



Vérifier si un nom (leNom) existe dans la liste des contacts Outlook


Sub controleLastName_contactsOutlook()
Dim olApp As New Outlook.Application
Dim Cible As Outlook.contactItem
Dim dossierContacts As Outlook.MAPIFolder


Set olApp = New Outlook.Application
Set dossierContacts = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)


Set Cible dossierContacts.Items.Find("[LastName] ""leNom""")
If Not Cible Is Nothing Then
MsgBox "Existe"
Else
MsgBox "N'existe pas"
End If
End Sub



Un autre exemple qui utilise une variable pour définir la donnée à rechercher :
Dans ce cas la variable doit etre encadrée par des apostrophes "'"



Cet exemple vérifie si une adresse mail existe dans la liste des contacts :


Dim leMail As String
leMail = "[mailto:nom.Prenom@mail.fr nom.Prenom@mail.fr]"Set Cible dossierContacts.Items.Find("[Email1Address] '" & leMail & "'")






et donc pour modifier les informations d'un contact specifique :



Dim olApp As New Outlook.Application
Dim Cible As Outlook.contactItem
Dim dossierContacts As Outlook.MAPIFolder


Set olApp = New Outlook.Application
Set dossierContacts = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)


Set Cible dossierContacts.Items.Find("[FullName] ""LeNom, prenom""")
If Not Cible Is Nothing Then


Cible.HomeTelephoneNumber = "11 22 33 44 55"
Cible.Save
Else
MsgBox "Ce contact n'existe pas"
End If





bonne soiree
michel
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 82 internautes nous ont dit merci ce mois-ci

Messages postés
133
Date d'inscription
lundi 26 janvier 2009
Statut
Membre
Dernière intervention
24 novembre 2014

Que demander de plus ? Et pour courroner le tout c'est clair ;-)

Merci encore pour ta réponse rapide et précise, c'est exactement ce que je cherchais à faire !!

Bonne journée !
Messages postés
133
Date d'inscription
lundi 26 janvier 2009
Statut
Membre
Dernière intervention
24 novembre 2014

Une autre question :

J'ai vu que tu utilisais la fonction "Items.Find" pour rechercher un contact sous Outlook, hors si on a plusieurs contacts du même nom sous Outlook, ça peut poser problème...

Est-il possible d'effectuer une recherche sur plusieurs critères ? Par exemple sur "FullName" et ""CompanyName" ?

Merci encore pour les réponses :-)
Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
28
bonsoir

tu peux utiliser cette synthaxe
Set Cible dossierContacts.Items.Find("[FullName] ""leNOM, lePrenom"" and [CompanyName] = ""nomSociete""")

bonne soiree
michel