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.