Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Signature mail outlook avec VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Philou0607

XLDnaute Nouveau
Bonjour,
Je souhaiterais pouvoir insérer mon attache de signature à la fin de mon message (colonne E). Elle a été créée dans Outlook et se nomme MaSignature.
Comment et où puis je l'insérer dans le code joint svp ?
Merci bcp par avance
Philippe

Sub EnvoiMailCertifHS()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("EnvoiMailCertifHS")
Dim i As Integer

Dim OA As Object
Dim msg As Object


Set OA = CreateObject("outlook.application")

Dim last_row As Integer
last_row = Application.CountA(sh.Range("A:A"))

For i = 2 To last_row
If sh.Range("L" & i).Value <> "NON" Then
Set msg = OA.CreateItem(0)
msg.To = sh.Range("A" & i).Value
msg.CC = sh.Range("B" & i).Value
msg.BCC = sh.Range("C" & i).Value
msg.Subject = sh.Range("D" & i).Value
msg.Body = sh.Range("E" & i).Value


If sh.Range("F" & i).Value <> "" Then
msg.Attachments.Add sh.Range("F" & i).Value
End If
If sh.Range("G" & i).Value <> "" Then
msg.Attachments.Add sh.Range("G" & i).Value
End If
If sh.Range("H" & i).Value <> "" Then
msg.Attachments.Add sh.Range("H" & i).Value
End If
If sh.Range("I" & i).Value <> "" Then
msg.Attachments.Add sh.Range("I" & i).Value
End If
If sh.Range("J" & i).Value <> "" Then
msg.Attachments.Add sh.Range("J" & i).Value
End If
If sh.Range("K" & i).Value <> "" Then
msg.Attachments.Add sh.Range("K" & i).Value
End If
msg.Send
sh.Range("L" & i).Value = "Envoyé"
End If
Next i
MsgBox "Messages Envoyés"

End Sub
Sub EffacerD()
Range("D2😀100").ClearContents
End Sub
Sub EffacerE()
Range("E2:E100").ClearContents
End Sub
Sub EffacerF()
Range("F2:F100").ClearContents
End Sub
Sub EffacerG()
Range("G2:G100").ClearContents
End Sub
Sub EffacerH()
Range("H2:H100").ClearContents
End Sub
Sub EffacerI()
Range("I2:I100").ClearContents
End Sub
Sub EffacerJ()
Range("J2:J100").ClearContents
End Sub
Sub EffacerK()
Range("K2:K100").ClearContents
End Sub
Sub EffacerL()
Range("L2:L100").ClearContents
End Sub
Sub EffacerM()
Range("M2:M100").ClearContents
End Sub

Sub Fichier()
Dim file_path As String
file_path = Application.GetOpenFilename(MultiSelect:=False)
If file_path <> "False" Then
Selection.Value = file_path
End If
End Sub
 

Pièces jointes

Bonjour,

Pouvez-vous me dire, SVP, quelle est la modification a apporter pour que les saut de ligne soient pris en compte
Salut, voir sur le site de Ron de Bruin : Insert Outlook Signature in mail
Bonjour,

Pourriez-vous, s'il vous plaît, m'indiquer quelle modification doit être effectuée afin que les sauts de ligne dans le corps du message "msg.Body = sh.Range("E" & i).Value" soient préservés lors de l'ajout de la signature ?

Dim imgPath As String
imgPath = "C:\Users\aisaac\Pictures\signature.jpg" ' Remplacez par le chemin correct vers votre image

With msg
.HTMLBody = msg.Body & "<br><img src='signature.jpg'><br>" 'nom du fichier
.Attachments.Add imgPath, 1, 0, "signature.jpg" 'nom du fichier
End With

Je vous remercie par avance pour votre aide.

cdt
Prya
 
Bonjour à tous,
Salut Philou0607 😉

Tout simplement, il faut afficher le message lors de la création et le mettre en HTML
VB:
   If sh.Range("L" & i).Value <> "NON" Then
    Set msg = OA.CreateItem(0)
    ' Afficher le mail pour récupérer la signature
    msg.display
    msg.To = sh.Range("A" & i).Value
    msg.CC = sh.Range("B" & i).Value
    msg.BCC = sh.Range("C" & i).Value
    msg.Subject = sh.Range("D" & i).Value
    ' Remplacer les sauts à la ligne forcés par des codes HTML
    Dim sBody as String
    sBody = Replace(sh.Range("E" & i), Chr(10), "<br>")
    ' Ajouter la signature au message
    msg.HTMLbody = sBody & msg.HTMLbody
' Etc...

A+
 
Merci beaucoup wDoog66. C'est parfait !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
357
Réponses
10
Affichages
330
Réponses
2
Affichages
246
Réponses
5
Affichages
281
Réponses
4
Affichages
256
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
613
Réponses
5
Affichages
208
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…