modifier un contact en VBA

Le
news.free.fr
Outlook 2003 :

Bonjour,

Comment en Vba peut on modifier un contact outlook ?

merci

Seb
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Geo
Le #7058761
Bonjour à Seb qui nous a écrit :

Outlook 2003 :

Bonjour,

Comment en Vba peut on modifier un contact outlook ?



vous savez, ici on ne paie pas au mot, ni à la ligne.
Il faut avoir envie de répondre à une question aussi vague.
Un seul contact ?
Je serais curieux de savoir pourquoi.
Quelle(s) caractéristique(s) du contact ?
Il y en a 168 !

--
A+
news.free.fr
Le #7079011
bonjour,

Effectivement j'ai été un peu leger dans ma demande,

concrêtement :

Je fais un synchro entre une base access et un dossier de contacts outlook.
Lorsqu'une modif est faite sur une fiche sous outlook, la synchro mets à
jour dans la bdd.
Pour ce faire je fais une comparaison de la date de modif de la fiche
(propriété LastModificationTime) et la date de modif stockée dans la base.
[Code]
'////////////////////////////////////////////////////////////////////////////////
'alimente la variable LastDateModif avec la date de modif de la fiche
'////////////////////////////////////////////////////////////////////////////////
LastDateModif = mycont.LastModificationTime

'////////////////////////////////////////////////////////////////////////////////
'compare la date de modif de la fiche avec la date de modif présente dans la
Bdd
'Si la fiche est plus récente, l'enregistrement est mis a jour dans la Bdd
'////////////////////////////////////////////////////////////////////////////////
If LastDateModif > rs.Fields(18) Then
rs.Edit
rs.Fields(2) = Nz(mycont.LastName, " ")
rs.Fields(3) = Nz(mycont.FirstName, " ")
rs.Fields(4) = mycont.Email1Address
rs.Fields(1) = Nz(mycont.CompanyName, " ")
rs.Fields(18) = mycont.LastModificationTime
rs.Fields(19) = mycont.EntryID
rs.Update
End If
/[Code]

Mon probleme se situe lorsque que je fais l'inverse :
Date de modif plus recente dans la bdd que dans outlook. Je cherche à
modifier la fiche avec le code ci dessous :

[code]
'////////////////////////////////////////////////////////////////////////////////
'compare la date de modif de la fiche avec la date de modif présente dans la
Bdd
'Si la fiche de la bdd est plus récente, l'enregistrement est mis a jour
dans outlook
'////////////////////////////////////////////////////////////////////////////////

LastDateModif = oCont.LastModificationTime

If rs.Fields(18) > LastDateModif Then

oCont.CompanyName = rs.Fields(1)
oCont.LastName = rs.Fields(2)
oCont.FirstName = rs.Fields(3)
oCont.Email1Address = rs.Fields(4)
oCont.Save

End If

[/code]

mais cela ne fonctionne pas


"Geo"
Bonjour à Seb qui nous a écrit :

Outlook 2003 :

Bonjour,

Comment en Vba peut on modifier un contact outlook ?



vous savez, ici on ne paie pas au mot, ni à la ligne.
Il faut avoir envie de répondre à une question aussi vague.
Un seul contact ?
Je serais curieux de savoir pourquoi.
Quelle(s) caractéristique(s) du contact ?
Il y en a 168 !

--
A+




Geo
Le #7079531
Bonjour


LastDateModif = oCont.LastModificationTime

If rs.Fields(18) > LastDateModif Then
oCont.CompanyName = rs.Fields(1)
oCont.LastName = rs.Fields(2)
oCont.FirstName = rs.Fields(3)
oCont.Email1Address = rs.Fields(4)
oCont.Save
End If

[/code]

mais cela ne fonctionne pas




Perso je ne vois rien de particulier, ce serait un peu longuet de
tenter de reproduire votre situation.
Vous avez sans doute analysé le déroulement, vous passez dans la
condition ?

Dans une de mes macros j'ai ajouté un DoEvents avant le Save et j'avais
noté en commentaire :
' Pour laisser le temps à la liste de se mettre à jour
C'est un peu loin.
Vous pouvez toujours essayer, ça ne mange pas de pain.

--
A+
Publicité
Poster une réponse
Anonyme