Bouton pour envoyer fiche Excel par mail

Bonjour

Toute nouvelle dans le monde le la VBA, j'ai fouillé les forums pour arriver à un résultat mais pas assez satisfaisant.

J'ai un bon de commande disponible à tous les personnels.

Je voudrais que celui-ci soit rempli et enregistrer dans un fichier avec un nom spécifique. ca j'ai réussi avec mon premier bouton et le code :

Public Sub CommandButton1_Click() 'copie sauvegarde classeur

Dim nom As String

nom = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "_" & Range("d4") & "_" & Range("c9")

ActiveWorkbook.SaveCopyAs Filename:= _

"C:\Users\lmolinari\Desktop\Test\" & Format(Date, "yyyy-mm-dd") & "_" & Range("d4") & "_" & Range("c9") & ".xlsm"

rep = MsgBox("Votre bon de commande est sauvegardé sous le nom : " & nom, vbYes + vbInformation, "Copie sauvegarde classeur")

End Sub

Ensuite je voudrais que ce classeur soit envoyé en PJ par mail aux responsables pour la commande mais je bloque sur 3 points :

1. le fichier envoyé ne porte pas le nom donné avec le premier bouton

2. je n'arrive pas à envoyer à 2 destinataires

3. Je n'arrive pas à mettre un corps dans le mail genre " Bonjour, veuillez trouver le devis de (cellule C9) pour le fournisseur (cellule D4)."

Voici mon code actuel :

Private Sub CommandButton2_Click()

ActiveWorkbook.SaveAs Filename:= _

"\\172.16.0.240\Sub EnvoiMail()"

Application.DisplayAlerts = False

ThisWorkbook.SendMail Recipients:="choupinette@xxx.fr", _

Subject:="Demande de devis", _

ReturnReceipt:=True

End Sub

Un dernier point : comment être sure que le bouton choisira la boite mail active car sur mon PC j'utilise Outlook et en cliquant ça m'ouvrait Thunderbird (que j'ai du supprimer) !

J'ai mis le doc en PJ pour mieux comprendre.

Si quelqu'un arrive à me sauver je lui serais hyper reconnaissante !!!

Merci et bonne journée

Molly

Bonjour Molly,

Il me semble que la méthode EXCEL "SendMail" n'offre pas suffisamment de souplesse pour répondre à ce que tu cherches à réaliser.

En remplacement, je te propose de passer par l'interopérabilité d'EXCEL avec OUTLOOK. Le code sera un peu plus complexe. Es-tu preneuse ?

Vu que je ne comprends pas tout ce que tu m'as dit : je suis preneuse si tu m'accompagnes !!!

Molly,

En P.J. tu trouveras ma proposition contenant le code VBA répondant à tes demandes.

Le code est commenté mais si tu as des questions, n'hésite pas...

Super merci Gerard.

Je teste tout ça la semaine prochaine et reviens t'embêter si j'ai des questions.

Encore merci de ce que vous faites pour les novices qui bloquent...

Bonjour Gérard

Alors dans un premier temps mille merci !!! tu es un dieu vivant pour moi !!!!

Ca marche trop bien de mon poste maintenant reste à le tester sur les postes de mes collègues.

Encore un tout petit détail : comment je fais pour mettre un message dans le corps du mail plus conséquent donc aller à la ligne !

Merci et bonne journée

Molly

Bonjour Molly,

Dans le corps du message du peux ajouter un saut de ligne en utilisant la variable "vbLf". Par exemple pour sauter une ligne entre le numéro de devis et le fournisseur dans le texte initial :

'On formate le texte du mail
sBody = cBody1 & Range("C9") & vbLf & cBody2 & Range("D4") & "."

Bonjour Gérard

Je suis super fan du résultat mais il y a un gros hic... sur pleins d'ordi il n'y a pas outlook d'installé et les personnels passent par un webmail (soit gmail, soit du rectorat).

Est ce qu'il y a une solution pour qu'au lieu d'outlook, le bouton ouvre et envoie le doc par un webmail ?

Sinon c'est la grosse cata et je suis désespérée !

Merci de ton aide et bonne journée

Molly

Bonjour Molly,

Je n'ai pas de réponse immédiate à te fournir. Je réfléchis et te donne des nouvelles.

Merci beaucoup !

Bonjour Molly,

Je n'ai pas trouvé de solution évidente à ton problème :

  • Il est possible d'envoyer des mels depuis EXCEL en utilisant un compte gmail. Toutefois cela nécessite un paramétrage de chaque utilisateur pour autoriser un envoi depuis leurs machines vers gmail. Ca marche, je l'ai déjà expérimenté. Il semble que ça ne soit pas trop pratique dans ton contexte...
  • Pour les utilisateurs passant par le webmail "Rectorat", je ne connais pas les caractéristiques de ce webmail. Donc difficile de me prononcer sur le sujet.

Sans avoir d'éléments suffisants pour affirmer que c'est la solution, j'entrevoie une possibilité que je te soumets à toutes fins utiles:

  • Ouvrir une boite "générique" sur le webmail du rectorat
  • Obtenir auprès de l'équipe technique du rectorat les paramètres permettant d'accéder au serveur smtp (url, port, SSL ou TLS)
  • Modifier ton EXCEL pour envoyer les mels à partir de la boite générique "webmail rectorat"

Je te laisse voir si cette proposition est envisageable,

Bonjour Gérard

Pas moyen de faire bouger le rectorat mais je ne pourrais pas créer une adresse gmail générique genre commande@gmail.com et faire ce que tu dis pour le rectorat ?

Sinon c'est chaque utilisateur qui doit paramétrer gmail ou chaque ordinateur ?

Molly

Bonjour Molly,

Le paramétrage de gmail est bien à faire sur chaque ordinateur...

Bonjour Gerard

Je tenterai bien l’aventure gmail avec ton aide !

Bon we

molly

Rechercher des sujets similaires à "bouton envoyer fiche mail"