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 :

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
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""> &nbsp; <IMG src=""C:\Temp\chart2.gif""></FONT></BODY></HTML>"
 
oEmail.Display
 
Set oEmail = Nothing
Set appOutlook = Nothing
Set month = Nothing
Est-ce que vous auriez une idée? La je comprend plus. J'ai essayé de vider le cache sans succès... Merci!