Envoi auto d'un mail avec un body formaté [Résolu]

arundel 8 Messages postés dimanche 27 mars 2005Date d'inscription 20 décembre 2009 Dernière intervention - 5 juil. 2007 à 21:17 - Dernière réponse : arundel 8 Messages postés dimanche 27 mars 2005Date d'inscription 20 décembre 2009 Dernière intervention
- 8 juil. 2007 à 17:38
Bonjour à tous,

J'ai trouvé de nombreuses solutions à l'envoi de mails avec ou sans pièce jointe en Excel-VBA, le corps du message étant soit en dur soit contenu dans un fichier texte récupéré via FSO. Dans les 2 cas le texte du body est non formaté.
Ce que je cherche c'est un principe de solution permettant d'avoir un corps de message formaté (couleur, soulignement, etc ...)
par exemple à partir d'un message-modèle (en Word ou en Mozilla par exemple).

Auriez-vous une idée ? Je vous en saurais gré le cas échéant. 
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
cs_MPi 3869 Messages postés mardi 19 mars 2002Date d'inscription 25 mai 2018 Dernière intervention - 7 juil. 2007 à 19:33
3
Merci
Essaie d'utiliser HTMLBody plutôt que Body, si tu passes par des objets Outlook

Il faudrait savoir aussi quel est le programme de courriel que tu utilises.

Si tu veux utiliser le programme par défaut, regarde du côté de ShellExecute
Il faudra tout de même que le body soit en HTML pour pouvoir utiliser les couleurs et polices particulières

MPi

Merci cs_MPi 3

codes-sources a aidé 79 internautes ce mois-ci

Commenter la réponse de cs_MPi
Meilleure réponse
arundel 8 Messages postés dimanche 27 mars 2005Date d'inscription 20 décembre 2009 Dernière intervention - 7 juil. 2007 à 21:01
3
Merci
Bonjour MPi,

Suite à ton conseil :
- j'ai créé un fichier d'essai .htm avec Word
- j'ai alimenté la propriété .HTMLBody avec le nom complet de ce fichier

Résultat : le message contient le nom complet du fichier au lieu de son contenu (?!)

Autrement j'utilise Mozilla / Thunderbird comme pgm de courriel.

Ci-après le code d'envoi. Il y a peut-être un meilleur procédé ?

------------------------------------------------------------------------------------------------------------------------

Sub Send_Mail(strDest, strExp, strBody)



Dim objMsg As Object, objConf As Object
Dim objFlds As Variant



Set objConf = CreateObject("CDO.Configuration")
objConf.Load -1 ' CDO Source Defaults
Set objFlds = objConf.Fields
With objFlds
 .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.free.fr"
 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
 .Update
End With



Set objMsg = CreateObject("CDO.Message")
With objMsg
 'Construction du message
 Set .Configuration = objConf
 .To = strDest
 .from = strExp
 .Subject = "Essai envoi mail"
 .HTMLbody = strBody
    
 'Envoi du message
 .Send
End With



Set objMsg = Nothing
Set objConf = Nothing



MsgBox "Terminé"



End Sub

Merci arundel 3

codes-sources a aidé 79 internautes ce mois-ci

Commenter la réponse de arundel
Meilleure réponse
cs_MPi 3869 Messages postés mardi 19 mars 2002Date d'inscription 25 mai 2018 Dernière intervention - 8 juil. 2007 à 16:11
3
Merci
Dans quel environnement tu développes ?
Excel ? Word ?  (VBA)
ou VB6 ?

MPi

Merci cs_MPi 3

codes-sources a aidé 79 internautes ce mois-ci

Commenter la réponse de cs_MPi
Meilleure réponse
arundel 8 Messages postés dimanche 27 mars 2005Date d'inscription 20 décembre 2009 Dernière intervention - 8 juil. 2007 à 16:26
3
Merci
Bonjour,
Je développe en VBA Excel et mon Body est en Word.
J'ai avancé et compris mon erreur : il faut charger le contenu du texte Word préalablement converti en format HTML et non simplement donner le nom du fichier .doc. Et ça marche !

Maintenant je rencontre des difficultés à l'affichage sous Thunderbird :
- les couleurs sont modifiées aléatoirement
- il faut remplacer les espaces entre mots par des espaces insécables sinon certains mots sont collés
- si je fais un formulaire avec des boutons radio, à l'affichage ils apparaissent comme des boutons de commande "Effacer"
- etc ...
bref c'est plein de surprises alors qu'avec IE ça semble mieux fonctionner.

A ton avis, y aurait-il des règles de génération HTML propres à chaque client de messagerie ?

Merci d'avance.

Merci arundel 3

codes-sources a aidé 79 internautes ce mois-ci

Commenter la réponse de arundel
cs_MPi 3869 Messages postés mardi 19 mars 2002Date d'inscription 25 mai 2018 Dernière intervention - 8 juil. 2007 à 17:11
0
Merci
Je ne connais pas tous les tags HTML, mais je sais que dans certains cas, j'ai dû remplacer les sauts de lignes vbCrLf   par   %0A
Là, tu parles de contrôles (?) et je ne peux rien pour toi de ce côté...

Avec une recherche sur le Net, tu pourras certainement trouver un site dédié au HTML où tous les tags sont détaillés... En principe, si tu utilises le HTML "officiel", ça devrait fonctionner pour tous les programmes... sauf peut-être pour les applications Microsoft qui crée ses propres normes (?)

MPi
Commenter la réponse de cs_MPi
arundel 8 Messages postés dimanche 27 mars 2005Date d'inscription 20 décembre 2009 Dernière intervention - 8 juil. 2007 à 17:38
0
Merci
Je me renseigne et je mets un mot si je trouve qq'chose qui mérite diffusion.

Encore merci et A+..
Commenter la réponse de arundel

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.