Macro envoil mail en appuyant sur bouton avec contenu d'une cellule

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"...

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

Bonjour

Peut etre ceci :

.Body = "Le message de mail" & Worksheets ("Outil") & Range("P2").value

Cordialement

Merci pour ta réponse Dan,

J'ai essayé mais ça ne change rien, en fait je veux ajouter la condition suivant :

Si la case N2 affiche "intervention nécessaire", inclure la cellule I2, et ainsi de suite pour le reste des lignes du tableau...

Merci d'avance,

Khaled

Re

J'ai essayé mais ça ne change rien, en fait je veux ajouter la condition suivant :

Si la case N2 affiche "intervention nécessaire", inclure la cellule I2, et ainsi de suite pour le reste des lignes du tableau...

cela ne correspond pas à votre demande dans ce fil où vous parlez de bouton en O2 et d'utiliser P2 dans le .body... ?

C'est I2, N2 ou P2 ?

Peut être mieux de mettre le fichier en ligne ici (sans données confidentielles)

Crdlt

Pardon, oui c'est un bouton en O2 qui affiche le contenu P2, en fait je voulais savoir comment faire la suite car en soit c'est la même condition, comment afficher le contenu d'une cellule dans le mail, et que ça fasse la même pour le ligne suivante.

je vais joindre le fichier, vous allez comprendre, peut être que vous auriez une meilleure idée que moi,

10outil.zip (199.70 Ko)

Re

Oulàlà tous ces boutons .... il y a avait moyen de faire plus simple...

Sinon en 2, vous voulez ajouter une condition qui dit que si on lit "Intervention nécessaire" en N2, on ajoute I2 ?

aha oui je sais que c'est beaucoup de bouton, mais je voulais vraiment que ça soit le plus user friendly possible, et du coup j'ai mis plein de boton pour que la personnne qui utilise cet outil n'aille pas chercher trop looin le bouton,

Sinon oui c'est ce que je veux aussi, pour intervention nécesssaire, afficher I2

Merci encore de prendre le temps de me répondre,

Khaled

Re

aha oui je sais que c'est beaucoup de bouton, mais je voulais vraiment que ça soit le plus user friendly possible,

C'est pas une bonne idée. A chaque ligne que vous ajoutez vous allez devoir remettre un objet sur votre feuille. Si vous modifiez votre feuille les objets peuvent bouger (venir l'un sur l'autre, etc ...) et mettre le souc dans votre feuille. En gros les objets c'est comme un post-it sur une vitre

Mettez plutot un seul bouton en O1 dans une couleur spécifique pour que ce soit bien vu par exemple.

Pour votre code, essayez comme ceci :

Sub Email_From_Excel()

Dim emailApplication As Object
Dim emailItem As Object
Dim ligne As Integer

ligne = ActiveCell.Row

If Range("N" & ligne) = "Intervention nécessaire" Then

    Set emailApplication = CreateObject("Outlook.Application")
    Set emailItem = emailApplication.CreateItem(0)

    With emailItem
        .to = "XXX@YYY.com"
        .Subject = "Changement de limites"
        .Body = "Bonjour, une intervention est nécessaire sur l'outil de veille règlementaire, un commentaire a été ajouté pour désigner le ou les paramètres à changer. " _
            & Worksheets("Outil").Range("P" & ligne).Value _
            & Worksheets("Outil").Range("I" & ligne).Value
        .Display
    End With
End If
End Sub

Sélectionnez une cellule de la ligne concernée puis cliquez sur le bouton

Si ok, merci de cloturer le fil en cliquant sur le petit v en haut à droite

Cordialement

Merci beaucoup, c'est génial, ça marche comme je veux

Merci de votre aide,

Khalde

Rechercher des sujets similaires à "macro envoil mail appuyant bouton contenu"