Hello!
J'ai une feuille dans mon classeur avec 2 graphiques que je souhaite ajouter à mon mail généré par VBA.
J'exporte les 2 graphiques en GIF que je stock sous "C:\Temp" (chart1.gif et chart2.gif). Vu que les graphiques évoluent à chaque envoi de nouveau mail, les 2 images changent et s'écrasent à chaque display du nouveau mail, ceci fonctionne parfaitement. Par contre, dans mon mail, il affiche bien les images, mais quand il y a un changement d'image, il ne le prend pas en compte : il affiche l'image précédente, alors que dans "C:\Temp", les images ont bien changé! :( Par contre, quand je ferme Outlook et l'ouvre à nouveau, les changements d'images sont pris en compte. Voilà le code :
Est-ce que vous auriez une idée? La je comprend plus. J'ai essayé de vider le cache sans succès... Merci! :)Code:
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 Dim agentname As String Dim oEmail As Outlook.MailItem Dim appOutlook As Outlook.Application Dim nom() As String Dim month As Worksheet Set appOutlook = New Outlook.Application Set oEmail = appOutlook.CreateItem(olMailItem) Set month = ActiveWorkbook.Worksheets("This month") agentname = Liste.Value nom = Split(agentname, " ") oEmail.Recipients.Add agentname oEmail.Recipients.ResolveAll oEmail.Subject = "Statistiques" oEmail.BodyFormat = olFormatHTML month.ChartObjects(1).Chart.Export "C:\Temp\chart1.gif", "GIF" month.ChartObjects(2).Chart.Export "C:\Temp\chart2.gif", "GIF" 'Application.Wait Now + TimeValue("0:00:20") oEmail.HTMLBody = "" oEmail.HTMLBody = "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">" & _ "<HTML><HEAD>" & _ "<META http-equiv=Content-Type content=""text/html; charset=iso-8859-1"">" & _ "<META content=""MSHTML 6.00.2800.1516"" name=GENERATOR></HEAD>" & _ "<BODY><FONT face=""Verdana"" size=""2"">" & "Hello " & nom(1) & "!<p>Voici tes statistiques pour le mois en cours :</p>" & _ "Productivité $ : " & Round(month.Range("C11").Value * 100, 1) & " %<br>" & _ "Productivité : " & Round(month.Range("C8").Value * 100, 1) & " %<br>" & _ "<IMG src=""C:\Temp\chart1.gif""> <IMG src=""C:\Temp\chart2.gif""></FONT></BODY></HTML>" oEmail.Display Set oEmail = Nothing Set appOutlook = Nothing Set month = Nothing