Bonjour,
J'ai une macro Outlook, développée par un collègue (en congés sinon c'est trop facile) , qui ne fonctionne plus depuis que l'on a migré mon poste de XP à Windows 7.
On a pourtant sauvegardé tout ce qui était possible (outlook.ost,...)
Mais la macro provoque une erreur...
Pour info :
- le dossier de contacts "Publi" existe bien. C'est à n'y rien comprendre !!!
- La macro consiste à aller chercher mon groupe de contacts "publi" et d'envoyer un mail à chacun de ces contacts avec le même corps de mail, mais une PJ Excel différente (listing personnalisé)
Voici le coupable :
c'est là qu'il met l'erreur d'execution -2147221233 (8004010f) impossible de trouver un objet..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub EnvoiPubli() Dim olApp As Outlook.Application Dim objDosContact As Outlook.MAPIFolder Dim objContact As Outlook.ContactItem Dim Contact As Outlook.ContactItem Set olApp = New Outlook.Application Set objDosContact = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts).Folders("Publi")
Merci de ce que vous pourriez faire !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 Sub EnvoiPubli() Dim olApp As Outlook.Application Dim objDosContact As Outlook.MAPIFolder Dim objContact As Outlook.ContactItem Dim Contact As Outlook.ContactItem Set olApp = New Outlook.Application Set objDosContact = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts).Folders("Publi") ' Pour chaque contact du dossier Publi For Each Contact In objDosContact.Items 'Pour débuguer on peut afficher l'adresse et la ville 'MsgBox (Contact.Email1Address) 'MsgBox (Contact.BusinessAddressCity) 'MsgBox (Contact.CompanyName) 'Création du mail Set MyMail = olApp.CreateItem(olMailItem) 'AJOUT BENJ choix de l'adresse d'envoi (champs "de") MyMail.SentOnBehalfOfName = "polegestion@59.fr" 'Adresse de l'expéditeur dans le champs adresse mail MyMail.To = Contact.Email1Address 'Sujet : ce qu'on veut MyMail.Subject = "Publipostage Listing des bénéficiairesr pour " & Contact.CompanyName 'Corps du message MyMail.BodyFormat = olFormatHTML MyMail.HTMLBody = "<font size=3 FACE=Calibri> <html><body> Bonjour, <br> <br> " & _ " Cordialement,<br><br> " & _ "Le sec.fr</i></body><HTML>" 'Le fichier joint, on va le chercher dans le champs ville MyMail.Attachments.Add (Contact.BusinessAddressCity) 'On prepare l'envoi MyMail.Display 'on envoie automatiquement 'MyMail.Send On Error Resume Next If Err.Number <> 0 Then MsgBox ("Erreur pour :" & Contact.Email1Address) Else 'On envoie MyMail.Display End If Next Contact End Sub
Cordialement,
Jabenj
Partager