Bonjour,
J'ai besoin de récupérer une image contenue dans un mail, et l'ajouter à une présentation Powerpoint créée dans le même programme VBA.
Je pense le faire en 2 étapes : récupérer le corps du mail sur un nouveau classeur, puis exporter l'image voulue dans la présentation powerpoint.
Mais j'ai du mal avec la première étape...
Je recherche le mail dans la boîte de réception en fonction de l'objet (Subject) mais la boucle For each qui parcourt les mails pose problème, il y a une erreur "Incompatibilité de type" au niveau du Next. Je ne comprends pas l'erreur... Si je relance directement le programme sans "réinitialiser", il fonctionne, le contenu du mail s'importe comme prévu dans le programme en "A1", cependant comme OLmail est déclarée "String" les images contenu dans le corps du mail arrivent sur le classeur Excel en : cid:image.png (en plus du texte).
Le contenu texte du mail m'importe peu, donc je ne sais pas trop comment déclarée la variable pour que le programme me renvoie les images.
Si quelqu'un a déja fait ça ou peut m'aider, n'hésitez pas !
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 Dim OLapp As Outlook.Application Dim OLspace As Outlook.Namespace Dim OLinbox As Outlook.MAPIFolder Dim OLfolder As Outlook.MAPIFolder Dim OLmail As Outlook.MailItem Dim OLpj As Outlook.Attachment Private Sub chMail() Set OLapp = CreateObject("Outlook.application") Set OLspace = OLapp.GetNamespace("MAPI") Set OLinbox = OLspace.GetDefaultFolder(olFolderInbox) For Each OLmail In OLinbox.Items If OLmail.Subject = "Objet_du_mail" Then Dim OLbody As String OLbody = OLmail.Body Dim xlApp As Excel.Application Dim wbk As Excel.Workbook Dim sht As Excel.Worksheet Set xlApp = CreateObject("Excel.Application") With xlApp .Visible = True Set wbk = .Workbooks.Add Set sht = wbk.ActiveSheet With sht .Range("A1") = OLbody End With End With End If Next OLmail End Sub
Merci d'avance !
Partager