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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
267
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
509
Réponses
4
Affichages
367
Réponses
2
Affichages
417
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…