Signature de mail multiple dans msg.body

Bonjour à tous,

Je suis dans une impasse, mon fichier sert à envoyer des mails avec une pièce jointe et j'aimerais y ajouter une signature de mail, et si possible donner la possibilité à l'utilisateur de pouvoir choisir la signature à afficher à l'aide de boutons.

Voici mon code:

Sub Tarifuni()
Dim Sh As Worksheet
Dim i As Integer
Dim OA As Object
Dim msg As Object
Set Sh = ThisWorkbook.Sheets("Tarifs Remises")
Set OA = CreateObject("outlook.application")

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

Set msg = OA.CreateItem(0)
msg.to = Sh.Range("H8").Value
msg.cc = Sh.Range("H9").Value
msg.bcc = Sh.Range("H10").Value
msg.Subject = Sh.Range("H11").Value
msg.Body = Sh.Range("H13").Value

If Sh.Range("L11").Value <> "" Then
msg.Attachments.Add Sh.Range("L11").Value
End If

msg.display

MsgBox "Messages Envoyés"

End Sub

Merci par avance pour vos lumières...

Edit modo : Pensez à utiliser les balises de code en cliquant sur l'icone </> disponible dans la barre de menu. J'ai corrigé votre post

Bonjour Dav010,

Le post suivant sur ce même forum, voir la réponse de thev, devrait répondre à ta question.

Suite du sujet : VBA envoi mail Outlook avec signature

Cdlt,

Cylfo

Bonjour Cylfo,

et merci pour ton retour, j'ai déjà vu ce post, mais je croit qu'il m'a plus perdu qu'autre chose... j'ai l'impression d'être bloqué par msg

Quand j'enlève msg.body la signature apparaît mais impossible d'afficher le corps de texte du mail et vis et versa.

Voici ma dernière tentative:

Sub Tarifuni()
Dim Sh As Worksheet
Dim NbLigne As Integer
Dim i As Integer
Dim OA As Object
Dim msg As Object
Set Sh = ThisWorkbook.Sheets("Tarifs Remises")
Set OA = CreateObject("outlook.application")

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

 Sh.Range("H15:N26").Select

With Selection.Parent
Set msg = OA.CreateItem(0)

msg.to = Sh.Range("H8").Value
msg.cc = Sh.Range("H9").Value
msg.bcc = Sh.Range("H10").Value
msg.Subject = Sh.Range("H11").Value

If Sh.Range("L11").Value <> "" Then
msg.Attachments.Add Sh.Range("L11").Value
End If

msg.display

MsgBox "Messages Envoyés"
End With

Peux-tu envoyer une copie de ton fichier avec le code et juste l'onglet "Tarifs remises" en anonymisant les données ?

16bao-adv.xlsm (105.97 Ko)

Re,

J'ai modifié le fichier de la manière suivante :

  • Ajout d'un onglet "Signatures" pour paramétrer les signatures dans un tableau structuré nommé "T_SIGNATURES" (Signature, Nom de la signature, Compte associé)
  • Modification de l'onglet "Tarifs Remises". Ajout d'une liste déroulante permettant de choisir la signature à apposer dans le mail. Les 2 cellules adjacentes récupèrent par formule Excel dans le TS "T_SIGNATURES" le nom de la signature et le compte associé. Ces 2 cellules peuvent être protégées.
  • Modification du module 8
    • Ajout de la procédure "Signature" développée par thev
    • Modification de la procédure "Tarifuni" pour inclure la signature. Attention :
      • le mail est maintenant au format HTML (utilisation de la propriété HTMLBody à la place de la propriété Body (texte brut).
      • il faudra peut-être adapté l'ajout du texte pour inclure des balises (par exemple la balise <br> pour inclure des retours à la ligne)
21bao-adv-2.xlsm (113.93 Ko)

Je te laisse voir si cela te convient.

Cdlt,

Cylfo

C'est bon!!!! ça marche !!

Je ne voyais pas comment relier les codes avec mes signatures mais le code et outlook s'occupent de tout.

Tu gères !!!!

Merci beaucoup

Merci pour ton retour mais c'est surtout thev qui est à remercier car l'essentiel de la mécanique est dans la procédure "Signature".

Rechercher des sujets similaires à "signature mail multiple msg body"