Envoi d'un mail à partir d'un fichier excel [Fermé]

Signaler
Messages postés
5
Date d'inscription
lundi 18 juin 2012
Statut
Membre
Dernière intervention
31 octobre 2012
-
Messages postés
5
Date d'inscription
lundi 18 juin 2012
Statut
Membre
Dernière intervention
31 octobre 2012
-
Bonjour à tous,

je sais qu'il existe déjà bcp de sujets concernant l'envoi de mails à partir d'excel, j'en ai consulter des dizaines depuis ce matin mais je n'ai pas réussi à résoudre entièrement mon problème. Je suis nouveau stagiaire dans une boîte qui fabrique des moules pour pièces automobiles. Elle envoie ses moules un peu partout en Europe dans des industries automobiles.

J'ai créé un fichier excel qui est une demande de transport. La personne qui veut faire une demande de transport ouvre ce fichier, choisie le type de moule à envoyer, le destinataire, l'adresse du client, son email, etc... à l'aide des menus déroulants que j'ai inséré.

Seulement il y a un truc que je ne sais pas absolument pas faire (je suis plus que débutant en info, le VBA par exemple c'est l'inconnu total, j'apprends les bases depuis ce matin à l'aide du net mais je galère...) : je dois insérer un bouton "Envoyer" qui, quand on clique dessus, créer un mail avec toutes les données qui ont été remplies précédemment, à l'attention du client, un mail qui résume donc le type de moule, l'heure, le lieu de la livraison, etc...

Si vous pouviez m'aider à créer ce bouton (UserForm je crois...) et écrire le code correspondant, je vous en serais très reconnaissant. Merci :)

5 réponses

Messages postés
5
Date d'inscription
lundi 18 juin 2012
Statut
Membre
Dernière intervention
31 octobre 2012
2
Salut eljojo_e,

j'ai finalement pu répondre à mon problème grâce au code suivant :

Sub envoiPlageCellules_Excel()
ActiveSheet.Range("A1:F20").Select ' la plage de cellules à envoyer
ActiveWorkbook.EnvelopeVisible = True

With ActiveSheet.MailEnvelope
.Item.Subject = "Demande de transport"
.Introduction = "Bonjour, ci-dessous une demande de transport."
.Item.Send
End With
Range("A1").Select
End Sub

Cependant j'ai encore deux choses qui me génent et tu pourras peut être éclairer ma lanterne ;)

1. Ce programme fonctionne, il envoie un mail depuis Outlook avec ma feuille excel dans le corps du message, impeccable. Mais quand je l'exécute, l'éditeur vba me répond quand même un message d'erreur "erreur d'éxecution 438. Propriété ou méthode non gérée par cet objet." Et c'est la ligne With ActiveSheet.MailEnvelope qu'il désigne. Mais bon, ça marche quand même, alors est-grave ?

2. Je ne serais pas le seul à utiliser ce fichier, et pour gagner du temps aux gens, j'aimerais que l'objet du message soit automatiquement mis sous la forme : "Demande de transport de (adresse saisie dans la cellule B10 par l'utilisateur) à (adresse saisie dans la cellule B14 par l'utilisateur)". J'ai essayé de mettre des Range(b10) et Range(b14) après le .Item.Subject, mais n'étant pas très doué en vba (mais en progression!), ça ne marche pas...

Cordialement,
Fbout :)
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
1144
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
1 juin 2020
87
Bonjour,

Déjà en premier, Qu'est que tu as comme boite mail : boite sur le navigateur (ie, firefox : comme gmail, hotmail) ou alors une boite sur le PC : outlook, thunderbird etc...

Si tu n'en a pas sur le pc, je ne peux que te conseiller que d'installer mozzilla thunderbird qui sert à envoyer / recevoir des mail directement sur le pc.

ex : tu as un compte gmail, tu le syncronise sur thunderbird (très simple à faire au 1er démarrage, c'est tout expliquer).

En suite thunderbird est manipulable à souhait en VBA.

(https://www.excel-downloads.com/resources/mailing-mozzilla-thunderbird.679/ ce fichier contient tout se qu'il faut)
Dans l'attente de ta réponse,

Cordialement,
Messages postés
867
Date d'inscription
mardi 24 mai 2011
Statut
Membre
Dernière intervention
8 février 2015
202
2

.Item.Subject = "Demande de transport " & cells(10,2).value & " à " & cells(14,2).value

Le premier pas vers la solution est la recherche. Notre ami Google connaît sûrement la solution...
Messages postés
5
Date d'inscription
lundi 18 juin 2012
Statut
Membre
Dernière intervention
31 octobre 2012
2
ça pour chercher j'ai cherché, mais sûrement mal cherché...

Merci beaucoup pour ta réponse !

Par contre je suis emmerdé désormais il ne met plus rien dans "Objet" du mail... Sûrement dû au message d'erreur. Ya qqch qui tourne pas rond avec ce code, en particulier le MailEnvelope.
Messages postés
5
Date d'inscription
lundi 18 juin 2012
Statut
Membre
Dernière intervention
31 octobre 2012
2
Voilà que désormais j'ai le message d'erreur suivant quand j'appuie sur mon bouton "envoyer par mail ":

Erreur d'exécution '1004':
La méthode 'EnvelopeVisible' de l'objet '_Workbook' a échoué

A quoi cela est dû ? Aucune réponse précise sur le net...