Problèmes macro excel pour envoi mail via TB
Publié : 17 juil. 2013, 12:27
Bonjour,
Je suis tout nouveau sur ce forum et la question qui m'anime concerne la réalisation d'une macro Excel permettant l'envoi automatique de mails via Thunderbird.
La macro ci-dessous fonctionne parfaitement, à deux exceptions près
Voici mes deux problèmes :
1°) le texte du message est tronqué : il s'arrête à la première virgule (en l'occurence : "Bonjour", puis plus rien !). J'ai essayé en remplaçant les , par des ; et ça marche parfaitement, sauf qu'il ne tient pas compte des vbLf.
Ce sont donc les virgules et les passages à la ligne qui posent problème. Par ailleurs, j'ai testé et les "à" n'apparaissent pas non plus.
J'ai aussi essayé de mettre les virgules entre guillemets et ça ne fonctionne pas non plus ! Exemple : body =
2°) Les pièces jointes sont également tronquées : j'ai essayé en désignant "en dur" le nom du fichier pdf et je n'ai que le premier mot ("Relances") : le nom du fichier est tronqué dès le premier espace. J'ai le même résultat que si j'utilise
J'ai aussi essayé en renommant mon fichier "Relances.pdf" et, là, ça fonctionne.
J'ai cherché sur de nombreux forums et quand je regarde les macros dont je me suis inspiré, le texte donné en exemple ne fait jamais que quelques mots, sans virgules, ni sauts de ligne. Je n'ai donc pas trouvé de solution à mon problème.
J'ai tenté de passer en CDO, mais je souhaiterais rester avec la macro ci-dessus. Je pense qu'il n'y a pas grand chose à faire pour qu'elle fonctionne parfaitement. Je me suis donc dit que je trouverais peut-être ma réponse dans un forum spécialisé.
Etant novice en VBA, je patauge complètement. Si quelqu'un pouvait m'aider, ce serait très sympathique.
Bien cordialement.
Benadry
Votre Navigateur : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E
Je suis tout nouveau sur ce forum et la question qui m'anime concerne la réalisation d'une macro Excel permettant l'envoi automatique de mails via Thunderbird.
La macro ci-dessous fonctionne parfaitement, à deux exceptions près
Code : Tout sélectionner
Private Sub Image3_Cliquer()
'Sub SendMail()
Dim destinataire, cc, msg, body, sujet, strcommand, fichierjoint As String
destinataire = "titi.toto@XXX.fr,dede.dada@XXX.fr"
cc = "baba.bibi@XXX.fr,roro.lele@XXX.fr"
sujet = "Relances des indus non notifiés"
body = "Bonjour" & "," & vbLf & vbLf & "Sauf erreur de notre part" & ", " & "nous n'avons pas encore reçu la copie de la notification ou de la régularisation des indus concernant votre Centre" & ", " & "mentionnés dans le tableau ci-joint." & vbLf & "Nous vous remercions de nous transmettre ces documents dans les meilleurs délais." & vbLf & vbLf & vbLf & "Bien cordialement." & vbLf & vbLf & vbLf & vbLf & "Pour le Service Comptabilité"
fichierjoint = "G:\CPT\Relances\" & ActiveSheet.Name & " - " & Format(Now, "dd/mm/yyyy") & ".pdf"
strcommand = "C:\Program Files\Mozilla Thunderbird\thunderbird"
strcommand = strcommand & " -compose " & "to='" & destinataire1 & "'"
strcommand = strcommand & "," & "cc='" & cc & "'"
strcommand = strcommand & "," & "subject=" & sujet & ","
strcommand = strcommand & "body=" & body
strcommand = strcommand & "," & "attachment=file:///" & fichierjoint
Call Shell(strcommand, vbNormalFocus)
MsgBox strcommand
Debug.Print strcommand
End Sub
1°) le texte du message est tronqué : il s'arrête à la première virgule (en l'occurence : "Bonjour", puis plus rien !). J'ai essayé en remplaçant les , par des ; et ça marche parfaitement, sauf qu'il ne tient pas compte des vbLf.
Ce sont donc les virgules et les passages à la ligne qui posent problème. Par ailleurs, j'ai testé et les "à" n'apparaissent pas non plus.
J'ai aussi essayé de mettre les virgules entre guillemets et ça ne fonctionne pas non plus ! Exemple : body =
Code : Tout sélectionner
"Bonjour" & "," & vbLf & vbLf & "Sauf erreur de notre part" & ", " & "..."
Code : Tout sélectionner
" & ActiveSheet.Name & " - " & Format(Now, "dd/mm/yyyy") & ".pdf"
J'ai cherché sur de nombreux forums et quand je regarde les macros dont je me suis inspiré, le texte donné en exemple ne fait jamais que quelques mots, sans virgules, ni sauts de ligne. Je n'ai donc pas trouvé de solution à mon problème.
J'ai tenté de passer en CDO, mais je souhaiterais rester avec la macro ci-dessus. Je pense qu'il n'y a pas grand chose à faire pour qu'elle fonctionne parfaitement. Je me suis donc dit que je trouverais peut-être ma réponse dans un forum spécialisé.
Etant novice en VBA, je patauge complètement. Si quelqu'un pouvait m'aider, ce serait très sympathique.
Bien cordialement.
Benadry
Votre Navigateur : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E