Envoi d'un mail à partir d'un fichier excel
Fbout
Messages postés
6
Statut
Membre
-
Fbout Messages postés 6 Statut Membre -
Fbout Messages postés 6 Statut Membre -
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 :)
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:
- Mailing outlook à partir d'un fichier excel
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Liste déroulante excel - Guide
5 réponses
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 :)
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 :)
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,
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,
2
Le premier pas vers la solution est la recherche. Notre ami Google connaît sûrement la solution...
.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...
ç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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question