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

Résolu
Rrominet Messages postés 133 Date d'inscription lundi 26 janvier 2009 Statut Membre Dernière intervention 24 novembre 2014 - 10 mai 2006 à 15:10
michelxld Messages postés 402 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 12 octobre 2008 - 11 mai 2006 à 21:12
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

michelxld Messages postés 402 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 12 octobre 2008 32
10 mai 2006 à 18:29
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
Rrominet Messages postés 133 Date d'inscription lundi 26 janvier 2009 Statut Membre Dernière intervention 24 novembre 2014 1
11 mai 2006 à 08:51
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 !
0
Rrominet Messages postés 133 Date d'inscription lundi 26 janvier 2009 Statut Membre Dernière intervention 24 novembre 2014 1
11 mai 2006 à 09:52
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 :-)
0
michelxld Messages postés 402 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 12 octobre 2008 32
11 mai 2006 à 21:12
bonsoir

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

bonne soiree
michel
0
Rejoignez-nous