Erreur d'exécution '91' : Variable objet ou variable de bloc With non définie
ptitemeuh
Messages postés83Date d'inscriptionjeudi 4 février 2010StatutMembreDernière intervention 8 juillet 2010
-
12 avril 2010 à 08:58
ptitemeuh
Messages postés83Date d'inscriptionjeudi 4 février 2010StatutMembreDernière intervention 8 juillet 2010
-
13 avril 2010 à 14:34
Bonjour à tous,
J'ai établi un petit programme afin d'enregistrer quelque chose dans la partie note d'un de mes contacts enregistré dans mon carnet d'adresses mais j'ai une petite erreur "Erreur d'exécution '91' : Variable objet ou variable de bloc With non définie".
Voici une partie de mon programme (il permet de rechercher l'adresse mail du destinataire dans le carnet d'adresses "Mes Contacts", s'il existe on enregistre si non rien) :
Dim Nb As Integer
Dim Ns As NameSpace
Dim Carnet As MAPIFolder
Dim V As Variant
Set Ns = GetNamespace("MAPI")
Set Carnet = Ns.GetDefaultFolder(olFolderContacts)
Set Courriel = Item
Set Destinataires = Courriel.Recipients
' ENREGISTREMENT DES CONSULTATIONS DE CHAQUE CONTACT
' Pour tous les destinataires du courriel
For Each Destinataire In Destinataires
' Rechercher dans les contacts
For Each V In Carnet.Items
If TypeName(V) = "ContactItem" Then 'Vérifier s'il s'agit d'un ContactItem
If UnContact.Email1Address = Destinataire.Address _
Or UnContact.Email2Address = Destinataire.Address _
Or UnContact.Email3Address = Destinataire.Address Then
etc ...
L'erreur se porte sur:
If UnContact.Email1Address = Destinataire.Address _
Or UnContact.Email2Address = Destinataire.Address _
Or UnContact.Email3Address = Destinataire.Address Then
J'ai modifié V As Variant en V As Object mais toujours la même erreur... D'où peut-elle venir ?
D'avance merci.
A voir également:
Erreur d'exécution 91 variable objet ou variable de bloc with non définie
ptitemeuh
Messages postés83Date d'inscriptionjeudi 4 février 2010StatutMembreDernière intervention 8 juillet 2010 12 avril 2010 à 09:25
Bonjour,
J'ai oublié de copier un bout de mon code :
Dim Courriel As MailItem
Dim Destinataires As Recipients
Dim Destinataire As Recipient
Dim UnContact As ContactItem
Si je remplace UnContact par V, j'ai une "Erreur d'exécution '4096' : Un ou plusieurs éléments dans le dossier que vous avez synchronisé ne correspond pas. Pour résoudre les conflits, ouvrez les éléments, puis renouvelez l'opération." toujours sur la même partie.
De même si je définis V As Object.
Comment dois-je faire pour s'assurer qu'ils ne soient pas nul ? Et s'ils le sont, comment faut-il utiliser comme code ? Je suis désolé de vous demander tout ça, je suis débutante en VBA.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 12 avril 2010 à 09:28
tentes :
If TypeName(V) = "ContactItem" Then 'Vérifier s'il s'agit d'un ContactItem
Set UnContact = V
If UnContact.Email1Address = Destinataire.Address _
Or UnContact.Email2Address = Destinataire.Address _
Or UnContact.Email3Address = Destinataire.Address Then
ptitemeuh
Messages postés83Date d'inscriptionjeudi 4 février 2010StatutMembreDernière intervention 8 juillet 2010 13 avril 2010 à 14:34
Re !
Bon alors... passons aux choses sérieuses
J'ai recherché de mon côté et j'ai trouvé l'erreur... sachant que mon code en vb est bon
Tout fonctionne correctement quand je ne partage pas mes contacts personnels (c'est-à-dire modification des notes du contact auquel j'ai envoyé un mail). Or, lorsque je souhaite choisir de partager mes contacts personnels avec d'autres personnes... ERREUR comme j'ai eu précédemment...
Est-ce qu'il existe un code qui prendrait en compte le partage de mes contacts dans mon programme ?!