Macro insertion signature Outlook avec Excel

Bonjour,

J 'ai parcouru une multitudes de forums pour savoir comment insérer la signature créée dans Outlook par défaut à la macro suivante qui envoie un mail depuis excel.

Quelqu'un pourrait me montrer comment faut-il faire, ou un lien vers un site qui explique ce problème.

Cordialement.

Sub test()

Dim ol As Object, myItem As Object
Set ol = CreateObject("outlook.application")
Set myItem = ol.CreateItem(olMailItem)
myItem.to = "jean.dupont@societe.com"
myItem.Subject = "Copies Devis"
myItem.Body = "Bonjour," & Chr(13) & Chr(13) & "Veuillez trouver en pièce jointe, le devis."
Set myAttachments = myItem.Attachments
myAttachments.Add "C:\Copies virts\Devis.pdf"
MsgBox "Le message a été envoyé à " & myItem.to
myItem.Send
Set ol = Nothing

End Sub

Bonjour,

http://www.rondebruin.nl/win/s1/outlook/signature.htm

dans l'exemple 2 où il s'agit de choisir sa signature qui est enregistré en 3 format de fichier different.

C'est en anglais mais assez facile de compréhension sur la démarche à suivre.

Bonjour le fil, salut force rouge

Sinon en modifiant ton code

Sub EnvoiMail()
  Dim OutObj As Object, OutMail As Object
  Dim sPath As String
  Dim sAdrMail As String, strSujet As String, strBody As String
  Dim SigString As String, Signature As String
  ' Création d'une instance Outlook pour envoyer un mail
  Set OutObj = CreateObject("Outlook.Application")
  Set OutMail = OutObj.CreateItem(0)
  ' Création de l'e-mail : Titre, Corps du message, destinataire
  sAdrMail = "jean.dupont@societe.com"
  ' Récupérer le nom du fichier de signature
  sPath = Environ("appdata") & "\Microsoft\Signatures\"
  SigString = Dir(sPath & "*.htm")
  If SigString <> "" Then
      Signature = GetBoiler(sPath & SigString)
  Else
      Signature = ""
  End If
  ' Création du message
  strSujet = "Copie devis"
  strBody = "Bonjour," & "<BR><BR>" _
          & "Veuillez trouver en pièce jointe, le devis."
  ' Préparation le mail
  With OutMail
    ' Adresses mail
    .to = sAdrMail
    .cc = ""
    ' Sujet de l'eMail
    .Subject = strSujet
    ' Corps du mail et signature
    .htmlbody = strBody & "<br><br>" & Signature
    .Attachments.Add "C:\Copies virts\Devis.pdf"
    ' Placer l'Email dans la boite d'envoi
    .Display
  End With
  MsgBox "Le message a été envoyé à " & sAdrMail
  ' Effacer les objets
  Set OutMail = Nothing
  Set OutObj = Nothing
End Sub

Function GetBoiler(ByVal sFile As String) As String
  ' Dick Kusleika
  Dim fso As Object
  Dim ts As Object
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
  GetBoiler = ts.readall
  ts.Close
End Function

A+

Bonjour,

Avec ton code, BrunoM45, la signature y est inséré dans le mail, le seul problème c'est que je n'ai pas le logo.

J'ai quand même réussi à le faire grâce au lien de Force Rouge.

Merci beaucoup !

Salut sophang,

Quel code as-tu pris ?

Tu pourrais le mettre sur le fil cela permettrait aux autres d’avoir la solution

A+

Bonjour à tous,

J'ai parcouru pas mal de forums et ce post m'a beaucoup aidé. Mais il fallait que ça arrive je bloque notamment sur l'insertion de la signature. J'envoie un mail à chaque ligne de mon tableau excel et dois insérer la signature. problème je ne sais pas comment l'insérer. Beaucoup de personnes sortent le strbody pour l'intégrer après mais avec mon for est-ce possible ? je n'y arrive pas. Voici mon code:

Sub Mail_Amp()

Dim I As Long, Dlg As Long

Dim outapp As Object, outmail As Object

Dim Signature As String, SigString As String, sPath As String

Dlg = Sheets("Table1").Range("A" & Rows.Count).End(xlUp).Row

sPath = Environ("appdata") & "\Microsoft\Signatures\"

SigString = Dir(sPath & "*.htm")

Signature = GetBoiler(sPath & SigString)

For I = 1 To Dlg

Set outapp = CreateObject("Outlook.Application")

Set outmail = outapp.CreateItem(0)

With outmail

.To = Sheets("Table1").Cells(I, 2)

.Subject = "Amp"

.htmlbody = "<HTML><body>Bonjour, " & "<br>" & "<br>" & "Nous vous remercions blabla." _

& "<br><br>" & Sheets("Table1").Cells(I, 3) _

& "<br><br>" & Sheets("Table1").Cells(I, 4) & "<br>" _

& "<br><br>" & "Je vous remercie blabla." _

& "<br><br>" & "Cordialement" _

& "</body></HTML>"

Signature???

.Display

End With

Next

Set outapp = Nothing

End Sub

Je vous remercie par avance pour votre aide.

Bonjour,

Je viens de voir votre macro et je l'ai essayé sur WORD et cela fonctionne parfaitement.

En fait je cherche a l'adapter pour mes besoins qui sont les suivant:

Je suis sur un document WORD et je veux envoyer ma soumission par email en PDF a des destinataires différents (un seul a la fois).

Dans le code, le destinataire est spécifié et le fichier ce trouve sur le disque dur. Donc comment faire pour que mon document word soit transformer en PDF et qu'une boite de dialogue s'ouvre pour demande l'adresse mail.

J'ai bien essayé d'adapter des bouts de code trouver lors de mes nombreuses heures de recherche mais rien ne fonctionne...

Merci.

Bonjour bdsa

Beau déterrage de sujet

Voici le code pour :

- afficher la signature

- exporter le document Word en PDF

- l'ajouter en pièce jointe

Sub EnvoiMail()
  Dim OutObj As Object, OutMail As Object
  Dim sPath As String, sNomFic As String
  Dim sAdrMail As String, strSujet As String, strBody As String
  ' Chemin d'enregistrement des fichiers temporaire
  sPath = Environ("temp") & "\"
  ' Nom du fichier
  sNomFic = Format(Date, "yyyymmdd") & ".pdf"
  '
  ' Exporter le fichier actuel en PDF
  ThisDocument.ExportAsFixedFormat OutputFileName:=sPath & sNomFic, ExportFormat:=wdExportFormatPDF, _
    OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:=wdExportAllDocument, _
    Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _
    wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:=True, UseISO19005_1:=False
  '
  ' Création d'une instance Outlook pour envoyer un mail
  Set OutObj = CreateObject("Outlook.Application")
  Set OutMail = OutObj.CreateItem(0)
  ' Création de l'e-mail : Titre, Corps du message, destinataire
  sAdrMail = InputBox("Adresse mail du destinataire", "ADRESSE MAIL", "@")
  ' Création du message
  strSujet = "CECI EST MON SUJET"
  strBody = "Bonjour," & "<BR><BR>" _
          & "Veuillez trouver en pièce jointe, le document voulu."
  ' Préparation le mail
  With OutMail
    ' Pour afficher la signature
    .Display
    ' Adresses mail
    .To = sAdrMail
    .cc = ""
    ' Sujet de l'eMail
    .Subject = strSujet
    ' Corps du mail et signature
    .HTMLBody = strBody & "<br><br>" & .HTMLBody
    .Attachments.Add sPath & sNomFic
  End With
  ' Supprimer le fichier créé
  Kill sPath & sNomFic
  ' Effacer les objets
  Set OutMail = Nothing
  Set OutObj = Nothing
End Sub

A+

Bonjour,

Je viens d'essayer le code et le document WORD qui se nomme toujours "Soumission" se trouve a être nommé "20190407" de la date du jour. Je vois cela dans le code. Comment dois-je changer le code pour qu'il porte le nom de "Mandat"

J'ai essayé sNomFic = Format(Texte, "Soumission") & ".pdf" mais cela plante plus loin....

De plus le fichier PDF généré est vierge ! J'ai fait l'essai avec plusieurs fichier WORD...

Merci encore de votre aide....

Re,

L'aide Excel existe même dans VBA touche F1

La fonction Format() renvoie un nombre formaté

S'il s'agit de texte pas besoin de l'utiliser

sNomFic = "Mandat.Pdf"

Sinon chez moi le Pdf n'est pas vide

Merci pour le nom du fichier.

Mais je ne comprends pas le PDF chez moi est bel et bien vierge ! Cela ne fera pas une soumission très forte

Comme il ne semble pas y avoir d'erreur comment je peux savoir d'ou cela vient !

Merci

J'utilises WORD et OUTLOOK 365

J 'ai parcouru une multitudes de forums pour savoir comment insérer la signature créée dans Outlook par défaut à la macro suivante qui envoie un mail depuis excel.

Je fais simplement

myItem.htmlBody = "Bonjour,<br><br>Veuillez trouver en pièce jointe, le devis." & myItem.htmlBody

@Bdsa

Voici un exemple, tu lances la macros depuis le menu Développeur -> Macros

Avec le PDF que cela me donne

153bdsa-document.docm (110.41 Ko)
76mandat-20190407.pdf (266.99 Ko)

Je vois que votre WORD est en .docm et le mien en docx.

J'ai fais l'essai avec le votre et aucun pb effectivement cela fonctionne. Le mien non !!! Je vous joins le word.docx et le resultat vierge en pdf....

Merci

52mandat.docx (13.25 Ko)
49mandat.pdf (21.54 Ko)

Re,

Un ".docx" ne peut contenir de code, je pense que tu as mis la macro dans "normal.dotm"

Auquel cas, il faut changer "ThisDocument" par "ActiveDocument"

Genial !!!

Cela fonctionne très bien.

Vous êtes d'une patience et d'une collaboration extraordinaire. Merci beaucoup.

Re,

Je pense là... que tu as eu beaucoup, beaucoup de chance... car je ne suis absolument pas patient

Allez je m'y colle maintenant pour changer la taille de la police et sa couleur.

Merci encore une fois de votre aide !

Bon je progresse.

Je parviens a changer la taille de la police du corps du message via:

strBody = "<FONT face=" & Chr(34) & "Arial" & Chr(34) & "size=" & Chr(34) & "2" & Chr(34) & ">" & _

"Bonjour ," & _

"</FONT>"

J'essai d'appliquer cela strsujet mais rien n'y fait. Cela ne fonctionne pas. Est ce que l'on peut attribuer une taille de police au texte de strsujet ?

J'essai aussi de mettre une couleur au texte de strbody soit la couleur RVB 0 - 32- 96 mais la encore je sèche.

Merci

Rechercher des sujets similaires à "macro insertion signature outlook"