Excel et le courrier électronique

Plusieurs méthodes pour envoyer un fichier Excel par messagerie électronique :
1) A partir du fichier Excel ouvert, Fichier / Envoyer vers / Destinataire du message...
2) A partir de l'explorateur Windows :
clic droit sur le fichier / Envoyer vers / destinataire...
3) A partir de Outlook ou Outlook Express :
Créer un nouveau message, puis Insertion / pièce jointe...
4) En utilisant un lien hypertexte pointant sur une adresse de messagerie (cliquer ici).

Dans les trois cas, on envoie le fichier Excel comme pièce jointe d'un e-mail.


On peut effectuer ces opérations par VBA.
Ainsi, L'instruction SendMail permet d'envoyer un fichier Excel en pièce jointe d'une e-mail :
ActiveWorkbook.SendMail "amelie.poulain@noos.fr", "yeux", True
...envoie le fichier actif à Amélie
Le dernier paramètre, True dans l'exemple, est facultatif. Il indique que l'on souhaite recevoir un accusé de réception.
Le second (yeux) indique l'objet du message.

Une autre solution consistre à ouvrir un lien hypertexte pointant sur la messagerie (cliquer ici pour plus de détails sur les liens hypertexte).
ThisWorkbook.FollowHyperlink ("mailto:Amélie Poulain?subject=bonjour&body=Amélie, vous avez de beaux yeux !")
... va ouvrir la messagerie sur un message prêt à l'emploi à l'attention d'Amélie.
Rien n'empêche évidemment d'utiliser comme paramètres du message, des textes issus d'un tableau Excel :
Si l'adresse du destinataire est dans la cellule A1 de la page active, et que le texte du message est dans la cellule A2 :
ThisWorkbook.FollowHyperlink ("mailto:" & Range("A1") & "?body=" & Range("A2"))
ou plus court : ThisWorkbook.FollowHyperlink ("mailto:" & [A1] & "?body=" & [A2])

Enfin, on peut piloter complètement le fonctionnement d'Outlook comme une application quelconque depuis VBA.
C'est d'ailleurs une des grandes faiblesses d'Outlook, qui laisse la porte ouverte à la propagation de macro-virus du genre "Melissa" ou "Papa".
Il est aisé de faire envoyer à son insu (mais avec sa signature) par la personne qui ouvre un classeur infecté, une lettre d'injure à tous les destinataires enregistrés dans la liste d'adresse de la messagerie.

******* macros censurées *******