Bonjour à tous,

Je viens vous poser une colle que je n'arrive pas à résoudre:

Via excel je génère un mail automatique avec pièce jointe, et je souhaite sélectionner une signature outlook qui n'est pas ma signature par défaut, voici mon 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
 
Dim ObjOutlook As Outlook.Application
Dim oBjMail As Outlook.MailItem
Dim rg As Range
Dim strbody As String
Dim sPath As String
Dim SigString  As String
 
    Set ObjOutlook = CreateObject("Outlook.Application")
    Set oBjMail = ObjOutlook.CreateItem(0)
 
Set rg = ThisWorkbook.Worksheets("Mail").Range("A6:E15")
 
SigString = Environ("appdata") & "\Microsoft\Signatures\Test Signature.htm"
 
If Dir(SigString) <> "" Then
    Signature = GetBoiler(SigString)
Else
    Signature = ""
End If
 
strbody = " Bonjour " 
 
    With oBjMail
        .Display
        .To = "test@test.com"
        .Subject = "EMAIL" & mois & " " & jour & " " & annee & ""
        .HTMLBody = strbody & "<br><br>" & RangetoHTML(rg) & "<br><br>" & Signature
        .Attachments.Add "Z:\PJ.pdf"
        .Display
    End With
 
Set oBjMail = Nothing
Set ObjOutlook = Nothing

Le problème est que lorsque je choisi la signature "Test Signature" l'image de la signature ne s'affiche pas, j'ai le droit au carré blanc avec la croix rouge...
Ensuite si je décide d'utiliser ma signature par défaut en utilisant le code suivant (ou un en désignant "Test Signature" comme signature par défaut), l'image s'affiche correctement... ce qui ne m'arrange pas car je souhaite utiliser cette création de mail toute les semaines et donc je ne veux avoir à sélectionner ma signature par défaut avant de lancer ma macro

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
.HTMLBody = strbody & "<br><br>" & RangetoHTML(rg) & "<br><br>" & .HTMLBody

Merci de votre aide