Envoyer une feuille par Mail

Neo37

XLDnaute Junior
Bonjour,

Avant tout, je sais que je ne suis pas le premier à poser cette question, mais les réponses données sur les Forums sont soit trop anciennes par rapport aux dernières versions d'Excel, ou la question et légèrement différente de la mienne, ou au final je n'arrive pas à l'adapter à mes besoins.

Je souhaiterai avec un bouton+macro pouvoir envoyer la feuille d'un classeur par mail.
Alors non pas en pièce jointe, mais en corps de texte. Chez nous c'est Outlook qui est utilisé.

Pour résumer, ceux sont des documents/formulaires que j'imprime, et qu'ensuite j'envoie par FAX. Pour éviter une impression inutile je préfèrerais les faxer par Mail, dans mon entreprise il suffit de mettre le numéro du FAX dans le destinataire d'un mail pour que ça fonctionne normalement.

Contrainte supplémentaire, il faudrait que la mise en page soit la même. Oui car des Logos sont présents, des cases à cocher.
En gros un peu comme si j'imprimais, mais sur la ligne du FAX. Mais comme les habilitations d'accès aux réseaux téléphonique ne sont pas simple dans mon entreprise, je doit passer par un mail.

Faut-il qu'Excel prennent une photo de la Feuille? J'avais eu un début de piste, mais ça n'incluait pas les logos et ça déformait le document.

Merci d'avance à ceux qui m'aideront :)
 

Matheop

XLDnaute Occasionnel
Re : Envoyer une feuille par Mail

Salut Neo37.

Effectivement il y a plein d'astuces VBA pour envoyer une feuille par mail mais celle-ci se retrouve irrémédiablement en PJ.

Sinon dans Excel pourquoi tout simplement pas un Fichier > Envoyer vers > Destinataire ...
(la feuille se met bien en corps du mail chez moi et la MEF reste intacte - seul inconvénient c'est que ce n'est pas fait via une macro)
 

Neo37

XLDnaute Junior
Re : Envoyer une feuille par Mail

Bonjour MatiChoux,

Ce fichier est utilisé par beaucoup de collègues, le but est qu'après avoir renseigné plusieurs info dessus, dont la personne à qui cela s'adresse, ils n'aient qu'à cliquer sur un seul bouton pour que cela parte.
Je n'ai jamais testé ta méthode, mais le fait de passer par la barre de menu rallonge la procédure, et comme tout mes collègues ne sont pas forcément à l'aise au manipulement de la souris...

Mais merci quand même de ton conseil.
 

Matheop

XLDnaute Occasionnel
Re : Envoyer une feuille par Mail

Si tes collègues ne sont pas à l'aise avec le manipulement (la manipulation* - bizarre j'aurais dis moi aussi que "manipulement" existait :cool:) de la souris alors c'est qu'il y a un problème. Surtout que c'est pas excessivement dur de faire
Fichier > Envoyer vers > Destinataire...

Après peut être que c'est pour un souci d'automatiser la procédure... chose que je conçois. Et bon comme je suis sympa et que je me soucie du bien être de tes collègues, je t'offre ma solution miracle.

Code:
Application.CommandBars(1).Controls("Fichier"). _
  Controls("Envoyer vers").Controls("Destinataire...").Execute

Tu places cela dans ta macro et ça fait l'équivalent. Ensuite plus qu'à procéder de manière "habituelle" pour remplir automatiquement ou non le destinataire, l'objet et autres.

En espérant que cela convienne, bonne continuation.
 

Lone-wolf

XLDnaute Barbatruc
Re : Envoyer une feuille par Mail

Bonjour à tous,

A inclure dans le classeur à envoyer:

Code:
Sub BDDEnvoiMail()
'ouvre la boite de dialogue Mail
'et inclu le classeur actif dans "Attaché" d'Outlook
Application.Dialogs _
(xlDialogSendMail).Show
End Sub



Amicalement
Lone-wolf :cool:
 

Roland_M

XLDnaute Barbatruc
Re : Envoyer une feuille par Mail

bonsoir à tous

voir fichier exemple pour ton besoin...
 

Pièces jointes

  • EnvoiMail OutlookExpress.xls
    44.5 KB · Affichages: 84
  • EnvoiMail OutlookExpress.xls
    44.5 KB · Affichages: 84
  • EnvoiMail OutlookExpress.xls
    44.5 KB · Affichages: 88

Neo37

XLDnaute Junior
Re : Envoyer une feuille par Mail

Bonjour à tous

@Matichoux: Ta méthode en effet semble pas mal, surtout le fait que ça me propose "Envoyer la feuille active en tant que corps de message", mais ça refuse d'ouvrir Outlook... ce qui semble bizarre. Du coup je n'ai pas pu vérifier si ça garde la même mise en forme.

@Lone-wolf: Merci pour la formule, mais moi je ne le souhaite pas en pièce jointe.

@Roland-M: Merci pour le fichier d'accompagnement. Bon en premier lieu ça demande à chaque fois si je veux avoir Outlook Express par défaut, embêtant. Mais mon soucis majeur, c'est que je ne comprend pas comment sélectionner la plage de cellules à capturer. Je pense que c'est cette partie que je dois adapter, mais je n'y arrive pas.

'2) copie range de données
Application.CutCopyMode = False
Sheets(FeuilAvecDonnees$).Range(RangeAvecDonnees$).Copy

Tel quel ça ne copie aucune cellule dans le coprs du mail, et quand je tente de modifier ça bugue.
 

Matheop

XLDnaute Occasionnel
Re : Envoyer une feuille par Mail

Salut.

Ah possible. Pour moi le problème ne s'est pas posé puisque je suis connecté en permanence à Outlook (l'application est constamment ouverte) du coup aucun problème au niveau de l'envoi.

Sinon je te confirme que la mise en forme est intacte, que la feuille est placée en corps de message; le seul souci que j'ai c'est de remplir les champs "Destinataire" et "Objet" (donc dans la feuille du classeur) afin de procéder à l'envoi automatique du mail. Je fais des recherches là-dessus et si je trouve des résultats concluants, je les posterai.
 

PatLac

XLDnaute Occasionnel
Re : Envoyer une feuille par Mail

@Lone-Wolf!
Merci pour ton code, c'est celui qui me convient le mieux.
Je voudrais juste savoir ce qu'il me faudrait rajouter, pour que de la feuille active ne se joigne au message que la plage A59 à K90, et ceux à une 10 aine de destinataire.
Merci d'avance.
 

Discussions similaires

Réponses
2
Affichages
236
Réponses
16
Affichages
517

Statistiques des forums

Discussions
312 209
Messages
2 086 273
Membres
103 168
dernier inscrit
isidore33