Envoi d'un mail à partir d'un fichier excel

Fermé
Fbout Messages postés 5 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 31 octobre 2012 - 18 juin 2012 à 14:52
Fbout Messages postés 5 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 31 octobre 2012 - 22 juin 2012 à 14:51
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 :)

A voir également:

5 réponses

Fbout Messages postés 5 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 31 octobre 2012 2
22 juin 2012 à 11:09
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
eljojo_e Messages postés 1155 Date d'inscription lundi 10 mai 2010 Statut Membre Dernière intervention 14 octobre 2022 152
Modifié par eljojo_e le 21/06/2012 à 11:45
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,
0
Christof422 Messages postés 867 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 8 février 2015 212
Modifié par Christof422 le 22/06/2012 à 11:14
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...
0
Fbout Messages postés 5 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 31 octobre 2012 2
22 juin 2012 à 11:28
ç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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Fbout Messages postés 5 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 31 octobre 2012 2
22 juin 2012 à 14:51
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...
0