Macro excel envoi de mail avec le contenu d'une cellule en corps de texte
Résolu
KhaledPro
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je poste mon premier message sur ce forum car je suis nouveau en utilisation de macro sur excel et j'essaye de m'en sortir le mieux que je peux mais c'est compliqué
Alors mon problème c'est que je n'arrive pas à mettre une condition sur l'envoi du mail, en fait j'ai un bouton qui envoi un mail à la fin de chaque ligne sur mon tableau, je souhaite rajouté le contenu d'une cellule en plus du "Body", j'ai utilisé la fonction Range et ça marche juste pour ma première ligne ^^ en gros je veux que si on click sur le bouton en "O2", le contenu de la cellule "P2" s'affiche dans le body du mail, et la même pour "O3/P3", "O4/P4"...
je suis stagiaire et j'essaye de vraiment faire bonne impression pour avoir le job à la fin donc si quelqu'un peu m'aider ça serait vraiment génial
Désolé, je ne peux pas joindre le fichier car il est vraiment gros,
Respectueusement,
Khaled
Je poste mon premier message sur ce forum car je suis nouveau en utilisation de macro sur excel et j'essaye de m'en sortir le mieux que je peux mais c'est compliqué
Alors mon problème c'est que je n'arrive pas à mettre une condition sur l'envoi du mail, en fait j'ai un bouton qui envoi un mail à la fin de chaque ligne sur mon tableau, je souhaite rajouté le contenu d'une cellule en plus du "Body", j'ai utilisé la fonction Range et ça marche juste pour ma première ligne ^^ en gros je veux que si on click sur le bouton en "O2", le contenu de la cellule "P2" s'affiche dans le body du mail, et la même pour "O3/P3", "O4/P4"...
Sub Email_From_Excel() Dim emailApplication As Object Dim emailItem As Object Set emailApplication = CreateObject("Outlook.Application") Set emailItem = emailApplication.CreateItem(0) .To = " xxxx@yyyy" .Subject = "Changement de limites" .Body = "Le message de mail" & Worksheets ("Outil"). Range (P2) .Display End Sub
je suis stagiaire et j'essaye de vraiment faire bonne impression pour avoir le job à la fin donc si quelqu'un peu m'aider ça serait vraiment génial
Désolé, je ne peux pas joindre le fichier car il est vraiment gros,
Respectueusement,
Khaled
A voir également:
- Créer bouton excel pour envoyer mail
- Créer liste déroulante excel - Guide
- Créer un lien pour partager des photos - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer une adresse mail hotmail - Guide
2 réponses
Bonjour,
Le problème réside surtout dans l'utilisation d'un bouton par ligne.
Un bouton unique "ENVOI MAIL" aurait surement été bien meilleur.
Suffisait juste de lui demander la sélection de la ligne concernée et de préparer le mail en conséquence...
Si tu es intéressé, je peux te bricoler un exemple vite fait...
Le problème réside surtout dans l'utilisation d'un bouton par ligne.
Un bouton unique "ENVOI MAIL" aurait surement été bien meilleur.
Suffisait juste de lui demander la sélection de la ligne concernée et de préparer le mail en conséquence...
Si tu es intéressé, je peux te bricoler un exemple vite fait...
Alors, encore plus user friendly, le code suivant, placé dans le module de la feuille concernée, réagira au double-clic dans la colonne P...
Option Explicit Sub Email_From_Excel(Ligne As Long) Dim emailApplication As Object Dim emailItem As Object Set emailApplication = CreateObject("Outlook.Application") Set emailItem = emailApplication.CreateItem(0) With emailItem .To = " xxxx@yyyy" .Subject = "Changement de limites" .Body = "Le message de mail " & Worksheets("Outil").Range("P" & Ligne).Value .Display End With Set emailApplication = Nothing Set emailItem = Nothing End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column = 16 Then 'si colonne P Email_From_Excel Target.Row End If End Sub
Je veux bien un petit exemple, en fait je veux faire apparaître dans le corps de texte la cellule P2 lorsque il faut interveni sur la ligne 2, et P2/ ligne 3 ... , en gros c'est un outil ou les personnes devront remplir une case et appuyer sur le bonton pour envoyer le contenu, afin de savoir ou je dois intervenir.
il y a 750 lignes dans le tableaux et je voulais que ça soit le plus user friendly posible, et ne pas aller hercher le bouton à chaque fois, je pensais que à chaque case ou je mettais un bouton excel le comptera dans la cellule mais je n'ai as l'impression que c'est le cas,
je ne sais pas si je suis clair, je commences à peine d'utiliser les macros, j'aime bien et j'essai d'apprendre, mais parfois je bloque quand je n'arrive pas à utiliser le "langage".
Encore merci d'avoir répondu aussi vite,
Khaled