Email avec Thunderbird

Bonsoir,

Après plusieurs heures de recherches, j'ai réussi à créer une macro qui envoie un email à partir de Thunderbird avec un fichier joint.

J'ai réussi à coder pour avoir un texte de longueur variable et retour à la ligne.

Il est ensuite possible de paramétrer pour aller piocher tous les éléments dans une feuille excel.

Bonne continuation

Dim destinataire, sujet, fichierjoint As String
Dim leNumero As String ' leNumero$ est le n° du dossier et du fichier

destinataire = leMail1$
sujet = "Email avec Thunderbird et PJ"

text1 = "Bonjour " & "<br><br>" ' & "<br><br>" correspond à une ligne vide
text2 = "bla bla." & "<br><br>"
text3 = "Il s 'agit d'un fichier pdf." & "<br>" '  & "<br>" correspond à un simple retour à la ligne
text4 = "Si vous n'avez pas le logiciel Adobe Reader gratuit" & "<br>"
text5 = "vous pouvez le télécharger à l'adresse ci-dessous :" & "<br>"
text6 = "http://get.adobe.com/fr/reader/"

body = text1 & text2 & text3 & text4 & text5 & text6 ' Assemblage de tous les éléments du texte final

fichierjoint = "D:\Mes Documents\" & leNumero$ & "\" & leNumero$ & ".pdf""" ' Votre chemin et le fichier que vous voulez avec l'extension que vous voulez. Vous pouvez aussi mettre le chemin en dur.

strcommand = "C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird"
strcommand = strcommand & " -compose " & "to='" & destinataire & "'" ' Toutes les lignes de strcommand se terminent par une apostrophe encadrée de guillements doubles.
strcommand = strcommand & "," & "bcc='" & leMail2$ & "'"
strcommand = strcommand & "," & "subject='" & sujet & "'"
strcommand = strcommand & "," & "format='" & 1 & "'"
strcommand = strcommand & "," & "body='" & body & "'"
strcommand = strcommand & "," & "attachment=file:///" & fichierjoint

MsgBox strcommand

Call Shell(strcommand, vbNormalFocus)

End Sub

Bonjour, j'ai un code similaire à celui-ci mais ça ne fonctionne pas!

Sub essai_thunderbird()

destinataire = "monemail@truc.fr"
sujet = " fichiers"
body1 = "Bonjour," & "<br>"
body2 = "Veuillez trouver ci-joint fichier des données." & "<br>"
body3 = "Cordialement, " & "<br>"
body4 = " ma signature"

    fichierjoint = "C:\Users\Users\Documents\Heures des salariés.pdf"

    strcommand = "C:\Program Files\Mozilla Thunderbird\thunderbird"

    strcommand = strcommand & " -compose " & "to='" & destinataire & "'"
    strcommand = strcommand & "," & "subject=" & sujet & ","
    strcommand = strcommand & "," & "body=" & body1 & body2 & body3 & body4
    strcommand = strcommand & "," & "attachment=file:///" & fichierjoint

   MsgBox strcommand

    Call Shell(strcommand, vbNormalFocus)

End Sub

En fait, il m'ouvre Thunderbird avec la pièce jointe, le mail de mon destinataire et dans le corps il y a seulement "Bonjour". Qu'aurais-je oublié?

Re, j'ai modifié mon code pour qu'il envoie un mail de plus d'une ligne. Pour ceux qui s'y intéresse, je vous joint le code

Sub essai_thunderbird()

destinataire = "monmail@truc.fr"
sujet = " fichiers"
body = "'Bonjour," & Chr(10) & "Veuillez trouver ci-joint fichier des données." & Chr(10) & "Cordialement, " & Chr(10) & " signature'" 'le message est rédigé comme si c'était pour VBA. Attention d'ajouter une quote (') au début et à la fin 

    fichierjoint = "C:\Users\monnom\Documents\Heures des salariés.pdf"

    strcommand = "C:\Program Files\Mozilla Thunderbird\thunderbird"

    strcommand = strcommand & " -compose " & "to='" & destinataire & "'"
    strcommand = strcommand & "," & "subject=" & sujet & ","
    strcommand = strcommand & "," & "body=" & Chr$(34) & body
    strcommand = strcommand & "," & "attachment=file:///" & fichierjoint

   MsgBox strcommand

    Call Shell(strcommand, vbNormalFocus)

End Sub

Bsr,

Plusieurs erreurs dans ce code.

1. concernant le body,

strcommand = strcommand & "," & "body=" & body1 & body2 & body3 & body4

il vaut mieux créer un 5° élément

body5 =body1 & body2 & body3 & body4 

// Assemblage de tous les éléments

et rédiger la ligne

strcommand = strcommand & "," & "body='" & body5 & "'"

// tout ce qui vient après le = doit être encadré de simple quote, tout en continuant à ajouter des double quote comme précédemment.

Ce qui donne :

    Sub essai_thunderbird()

    destinataire = "monemail@truc.fr"
    sujet = " fichiers"
    body1 = "Bonjour," & "<br>"
    body2 = "Veuillez trouver ci-joint fichier des données." & "<br>"
    body3 = "Cordialement, " & "<br>"
    body4 = " ma signature"
    body5 =body1 & body2 & body3 & body4  // Assemblage de tous les éléments
        fichierjoint = "C:\Users\Users\Documents\Heures des salariés.pdf"

        strcommand = "C:\Program Files\Mozilla Thunderbird\thunderbird"

        strcommand = strcommand & " -compose " & "to='" & destinataire & "'"
        strcommand = strcommand & "," & "subject=" & sujet & "'"
        strcommand = strcommand & "," & "body='" & body5 & "'"
        strcommand = strcommand & "," & "attachment=file:///" & fichierjoint

       MsgBox strcommand

        Call Shell(strcommand, vbNormalFocus)

    End Sub

Bonjour à tous,

J'ai un code similaire à vous mais j'aimerai faire une petite modification.

Je n'ai pas de pièce jointe bien précise je ne peux donc pas déterminer le chemin d'accès.

J'aimerai sélectionner la pièce jointe sur le disque à chaque fois.

Est-ce possible ?

Un grand merci

bonsoir steven-1947

tu aurais mieux fait de créer un nouveau post en faisant lien vers celui-ci tu aurais plus de chance qu'avec un ancien post

Bonjour à tous,

quelqu'un pourrait il m'indiquer comment faire pour que plusieurs fichiers soient inclus en pièces jointes dans le mail (en l’occurrence, le fichier sur lequel je travaille et 4 autres fichiers pdf)? J'ai fait plusieurs tentatives mais en vain.

Merci.

Je viens de trouver la réponse sur ce forum.

Désolé et merci aux contributeurs.

Rechercher des sujets similaires à "email thunderbird"