Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Modifier un contact Outlook avec Access

1 réponse
Avatar
Frank
Bonsoir,

je cherche =E0 modifier un contact existant dans Outlook=20
2000 depuis Access 2000.
Or actuellement, quand je tente de modifier l'adresse mail=20
par exemple, et bien que je sp=E9cifie l'adresse mail 1, je=20
me retrouve avec une deuxi=E8me adresse...

De plus, j'ai un message d'alerte me demandant si je veux=20
acc=E9der au contact dans Outlook pour le modifier.

Voici mon code:

'Mise =E0 jour de la fiche contact s=E9lectionn=E9e
Public Sub MajContact()
'D=E9claration de variables
Dim ObjOutlook As Outlook.Application 'Objet Outlook
Dim Cont As Outlook.ContactItem 'Objet contact=20
(repr=E9sent=E9 par la fiche de saisie)
Dim myFolder As Outlook.mapiFolder 'Repr=E9sente un dossier=20
Outlook
Dim myNameSpace As Outlook.NameSpace 'objet racine=20
abstrait pour un type de source de donn=E9es quelconque
=20
On Error GoTo err_MajContact

'Cr=E9ation de l'instance Outlook
Set ObjOutlook =3D CreateObject("Outlook.application")
'Acc=E8s =E0 l'objet MAPI
Set myNameSpace =3D ObjOutlook.GetNamespace("MAPI")
'Dossier de contacts par d=E9faut
Set myFolder =3D myNameSpace.GetDefaultFolder
(olFolderContacts)
'Creation de la fiche Contact
Set Cont =3D ObjOutlook.CreateItem(olContactItem)
'S=E9lection de la fiche =E0 modifier
Cont.FullName =3D Forms!Frm_Client!Contact.Value
'La fiche de contact est visible
Cont.Display
'Mise =E0 jour des diff=E9rents renseignements concernant le=20
contact
'remplissage des coordonn=E9es
Cont.CompanyName =3D IIf(IsNull(Forms!Frm_Client!
Soci=E9t=E9.Value), " ", Forms!Frm_Client!Soci=E9t=E9.Value)
Cont.BusinessAddressStreet =3D IIf(IsNull(Forms!Frm_Client!
Adresse.Value), " ", Forms!Frm_Client!Adresse.Value)
Cont.BusinessAddressPostalCode =3D IIf(IsNull(Forms!
Frm_Client![Code postal].Value), " ", Forms!Frm_Client!
[Code postal].Value)
Cont.BusinessAddressCity =3D IIf(IsNull(Forms!Frm_Client!
Ville.Value), " ", Forms!Frm_Client!Ville.Value)
Cont.BusinessAddressCountry =3D IIf(IsNull(Forms!Frm_Client!
Pays.Value), " ", Forms!Frm_Client!Pays.Value)
Cont.BusinessTelephoneNumber =3D IIf(IsNull(Forms!
Frm_Client!T=E9l=E9phone.Value), " ", Forms!Frm_Client!
T=E9l=E9phone.Value)
Cont.FullName =3D IIf(IsNull(Forms!Frm_Client!
Contact.Value), " ", Forms!Frm_Client!Contact.Value)
Cont.Profession =3D IIf(IsNull(Forms!Frm_Client!
Fonction.Value), " ", Forms!Frm_Client!Fonction.Value)
Cont.BusinessFaxNumber =3D IIf(IsNull(Forms!Frm_Client!
Fax.Value), " ", Forms!Frm_Client!Fax.Value)
Cont.Email1Address =3D IIf(IsNull(Forms!Frm_Client!
Email.Value), " ", Forms!Frm_Client!Email.Value)
=20
'fermeture de la fiche contact
Cont.Close olPromptForSave

'Lib=E9ration de l'instance
Set ObjOutlook =3D Nothing
Exit Sub
=20
err_MajContact:
MsgBox "erreur n=B0: " & Err.Number & "" & _
" raison: " & Err.Description & ""
End Sub

1 réponse

Avatar
Raymond [mvp]
Bonjour.

je pense qu'il faudrait que tu lises les pages situées à l'adresse ;
http://access.vba.free.fr/oloutlook.htm
tu trouveras une librairie toute faite pour dialoguer avec les contacts (
ajout, modif, suppression, impression, affichage, synchronisation, import,
export .......) et les listes de distribution.
Dans les propriétés que tu mets à jours, quelques une sur les 115
existantes, tu transmets certaines valeurs qui sont en lecture seule comme
le FullName. d'autre part les Business address sont inutiles et mal gérées.
Certains champs ne sont pas ou mal gérés par Outlook. tu trouveras également
toutes les commandes pour les messages, le calendreir, les notes etc........
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Frank" a écrit dans le message de
news:023901c499d2$da5d5c70$
Bonsoir,

je cherche à modifier un contact existant dans Outlook
2000 depuis Access 2000.
Or actuellement, quand je tente de modifier l'adresse mail
par exemple, et bien que je spécifie l'adresse mail 1, je
me retrouve avec une deuxième adresse...

De plus, j'ai un message d'alerte me demandant si je veux
accéder au contact dans Outlook pour le modifier.

Voici mon code:

'Mise à jour de la fiche contact sélectionnée
Public Sub MajContact()
'Déclaration de variables
Dim ObjOutlook As Outlook.Application 'Objet Outlook
Dim Cont As Outlook.ContactItem 'Objet contact
(représenté par la fiche de saisie)
Dim myFolder As Outlook.mapiFolder 'Représente un dossier
Outlook
Dim myNameSpace As Outlook.NameSpace 'objet racine
abstrait pour un type de source de données quelconque

On Error GoTo err_MajContact

'Création de l'instance Outlook
Set ObjOutlook = CreateObject("Outlook.application")
'Accès à l'objet MAPI
Set myNameSpace = ObjOutlook.GetNamespace("MAPI")
'Dossier de contacts par défaut
Set myFolder = myNameSpace.GetDefaultFolder
(olFolderContacts)
'Creation de la fiche Contact
Set Cont = ObjOutlook.CreateItem(olContactItem)
'Sélection de la fiche à modifier
Cont.FullName = Forms!Frm_Client!Contact.Value
'La fiche de contact est visible
Cont.Display
'Mise à jour des différents renseignements concernant le
contact
'remplissage des coordonnées
Cont.CompanyName = IIf(IsNull(Forms!Frm_Client!
Société.Value), " ", Forms!Frm_Client!Société.Value)
Cont.BusinessAddressStreet = IIf(IsNull(Forms!Frm_Client!
Adresse.Value), " ", Forms!Frm_Client!Adresse.Value)
Cont.BusinessAddressPostalCode = IIf(IsNull(Forms!
Frm_Client![Code postal].Value), " ", Forms!Frm_Client!
[Code postal].Value)
Cont.BusinessAddressCity = IIf(IsNull(Forms!Frm_Client!
Ville.Value), " ", Forms!Frm_Client!Ville.Value)
Cont.BusinessAddressCountry = IIf(IsNull(Forms!Frm_Client!
Pays.Value), " ", Forms!Frm_Client!Pays.Value)
Cont.BusinessTelephoneNumber = IIf(IsNull(Forms!
Frm_Client!Téléphone.Value), " ", Forms!Frm_Client!
Téléphone.Value)
Cont.FullName = IIf(IsNull(Forms!Frm_Client!
Contact.Value), " ", Forms!Frm_Client!Contact.Value)
Cont.Profession = IIf(IsNull(Forms!Frm_Client!
Fonction.Value), " ", Forms!Frm_Client!Fonction.Value)
Cont.BusinessFaxNumber = IIf(IsNull(Forms!Frm_Client!
Fax.Value), " ", Forms!Frm_Client!Fax.Value)
Cont.Email1Address = IIf(IsNull(Forms!Frm_Client!
Email.Value), " ", Forms!Frm_Client!Email.Value)

'fermeture de la fiche contact
Cont.Close olPromptForSave

'Libération de l'instance
Set ObjOutlook = Nothing
Exit Sub

err_MajContact:
MsgBox "erreur n°: " & Err.Number & "" & _
" raison: " & Err.Description & ""
End Sub