[VB6 + OUTLOOK] Test d'existance d'un contact [Résolu]

Messages postés
135
Date d'inscription
lundi 26 janvier 2009
Dernière intervention
24 novembre 2014
- 10 mai 2006 à 15:10 - Dernière réponse :
Messages postés
402
Date d'inscription
vendredi 6 août 2004
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
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
402
Date d'inscription
vendredi 6 août 2004
Dernière intervention
12 octobre 2008
- 10 mai 2006 à 18:29
3
Merci
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

Merci michelxld 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Messages postés
135
Date d'inscription
lundi 26 janvier 2009
Dernière intervention
24 novembre 2014
- 11 mai 2006 à 08:51
0
Merci
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
135
Date d'inscription
lundi 26 janvier 2009
Dernière intervention
24 novembre 2014
- 11 mai 2006 à 09:52
0
Merci
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
Dernière intervention
12 octobre 2008
- 11 mai 2006 à 21:12
0
Merci
bonsoir

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

bonne soiree
michel

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.