Placer des variables dans le corps d'un mail envoyé.
Bonsoir à tous,
Je poursuis l'écriture de mon programme ... Avec votre aide j'y parviens pas à pas.
Depuis quelques jours je travaille sur l'envoi automatique de mail.
Voici mon problème.
A partir d'un UserForm, je sélectionne un fichier et j'y place un certain nombre de modifications à effectuer.
Ce fichier s'ouvre alors, les modifications sont effectuées dans celui-ci.
Ensuite je le convertis au format .pdf, je l'enregistre et je le ferme.
Directement, un mail se prépare avec l'adresse du destinataire, un sujet, un message (body) et le fichier .pdf en pièce jointe. Ce mail est transmis avec Thunderbird. (Mais cela ne doit pas avoir une grande importance ... ?
Il ne me reste plus alors qu'à contrôler puis valider l'envoi. Je reviens alors sur mon UserForm pour une autre sélection.
Tout cela fonctionne correctement mais il me reste un problème.
Je souhaiterais que dans le corps du message, je puisse, par l'intermédiaire de variables, placer des références.
Mon message pourrait alors ressemblé à :"Veuillez trouver ci-joint le fichier N° .....fourni par une variable.... qui a été enregistré le : .....date fournie par une variable...
Cela est-il possible avec un niveau de programmation qui ne soit pas "trop ambitieux pour mes compétences".
Voici la partie du code correspondant à l'envoi du mail :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Destinataire = Courriel
Sujet = "Envoi document."
BodyFormat = 2
HTMLBody = "<html><body><font size=5><font color=#006633>Entreprise Toto.</font color=#006633></font size=5><br>Rue du Truc<br>00000 Cépala<br>Tél. : 00 00 00 00 00<br>Courriel : toto@.fr<br><br>Madame Monsieur<br>Veuillez trouver ci-joint le fichier N° ..... X.......<br> Celui-ci a été enregistré le ..... date......<br> Nous vous souhaitons bonne réception.<br><br>Monsieur DUPOND</body></html>"
Fichierjoint = "C:\Fichier\Machin\" & Fichier_à_Ouvrir & ".pdf"
strcommand = "D:\Thunderbird\thunderbird.exe"
strcommand = strcommand & " -compose " & "to='" & Destinataire & "'"
strcommand = strcommand & "," & "subject=" & Sujet & ","
strcommand = strcommand & "body=" & HTMLBody
strcommand = strcommand & "," & "attachment=file:///" & Fichierjoint
Call Shell(strcommand, vbNormalFocus) |
J'espère avoir été assez clair.
Merci pour votre aide.
Danad38
Placer des variables dans le corps d'un mail envoyé
Bonjour bbil,
Merci pour ta réponse mais comment modifier le calcul de cette variable htmlbody ?
J'ai bien essayé d'inclure des " & " avec le nom des variables (comme on peut le faire avec des MsgBox par exemple) de manière à écrire par :
Code:
HTMLBody = "<html><body><font size=5><font color=#006633>Entreprise Toto.</font color=#006633></font size=5><br>Rue du Truc<br>00000 Cépala<br>Tél. : 00 00 00 00 00<br>Courriel : toto@.fr<br><br>Madame‚ Monsieur‚<br>Veuillez trouver ci-joint le fichier N° & Num &<br> Celui-ci a été enregistré le & DateFichier &<br> Nous vous souhaitons bonne réception.<br><br>Monsieur DUPOND</body></html>"
Mais cela ne fonctionne pas, le message affiche le texte avec les & Num & et & DateFichier &. Aucun appel à la valeur de ces variables.
Je pense que cette écriture est une "énormité" en programmation ...
Je reste donc bloqué par cette même question : Est-il possible de placer dans le corps du message (dans htmlbody), entre les balises html, des variables.
Encore merci.
Danad38
Placer des variables dans le corps d'un mail envoyé
Bonjour ZebreLoup,
A peine envoyée ma réponse que je constate (on ne se relit jamais assez) qu'en effet j'avais oublié des guillemets. Voulant corriger mon message ma connexion Internet est tombée en panne ! C'est donc avec du retard que je confirme que la ligne de code, avec les guillemets manquants, fonctionne correctement.
Voici donc la ligne en question (En espérant que, cette fois, je n'ai rien oublié). Dans mon module de macro cette ligne de code n'est pas tout à fait la même, elle introduit des noms de personnes et des adresses, je ne peux donc pas la recopier intégralement.
Code:
HTMLBody = "<font size=5><font color=#006633>Entreprise Toto.</font color=#006633></font size=5><br>Rue du Truc<br>00000 Cépala<br>Tél. : 00 00 00 00 00<br>Courriel : toto@.fr<br><br>Madame Monsieur<br>Veuillez trouver ci-joint le fichier N° </body></html>" & Num & "<html><body><br> Celui-ci a été enregistré le </body></html>" & DateFichier & "</body></html><br> Nous vous souhaitons bonne réception.<br><br>Monsieur DUPOND</body></html>"
Merci encore car tu prends le temps de vérifier même si on considère que "ça marche". C'est tout à ton honneur et cela prouve ton sérieux.
Danad38
Placer des variables dans le corps d'un mail envoyé
Bonjour ZebreLoup,
Décidement, tu "fais le travail" jusqu'au bout !
Merci de tes conseils.
Ces lignes de code ont été pour moi les premières à intégrer des balises html.
Il a fallu que je comprenne comment cela fonctionnait ... En effet, je ne suis pas obligé de sortir du<html><body> à chaque introduction de variable. (Merci).
Ensuite j'avais tenté d'utiliser le _ (Underscore) mais je me trompais dans la syntaxe. Ton exemple m'a montré comment faire. Que de clarté gagnée ! (Re-merci).
Bonne continuation à toi ainsi qu'à tous les membres de ce forum.
Danad38