Envoi mail avec destinataire particulier

Bonjour,

Je souhaite que lorsque la cellule L(x) est renseignée cela envoi le mail avec les infos de la ligne au destinataire qui se situe dans une feuille autre mais qui a une correspondance dans la première feuille .

feuille 1.Cellule C = Feuille Liste.Cellule A correspond a l'adresse mail destinataire Feuille Liste.cellule B

Par avance merci pour vos réponse

Cordialement Arnaud

Salut Arnaud87,

Pourquoi dans la rangée C3 faire un une liste X1/X2/X3 alors que tu pourrais faire directement la liste avec les adresses email des destinataires ?

Cela te donnerai ensuite par exemple :

Public Destinataire As String
Sub test()

    If Worksheets("Feuil1").Range("L3") <> "" Then

        Destinataire = Worksheets("Feuil1").Range("C3").Value

        Call EnvoiMail

    End If

End Sub

et

Sub EnvoiMail()

    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String

        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)

        strbody = "<font size=""3"" face=""Calibri"">" & _
                  "Bonjour,<br><br>" & _
                  "L'étude<B> " & Cells(LigneInfos, 1).Value & " </B>peut être controlé, je l'ai mise en correction sur le serveur." & _
                  "<br>Commentaires:<B> " & Cells(LigneInfos, 8).Value & "</B>." & _
                  "<br><br>Cordialement" & _
                  "<br><br>" & Cells(LigneInfos, 3).Value & "</font>"
        On Error Resume Next
        With OutMail
            .To = Destinataire
            .CC = "X11@fy.fr"
            .BCC = ""
            .Subject = "Contrôle Etude " & Cells(LigneInfos, 1).Value & ""
            .HTMLBody = strbody
            .Display
            '.Send
        End With
        On Error GoTo 0
        Set OutMail = Nothing
        Set OutApp = Nothing

End Sub

Qu'en penses-tu ?

Cordialement,

Baboutz

Bonjour Baboutz,

Merci pour ta réponse

Je passe par une liste avec le prénom des personnes car il permet d'envoyer un mail avec une signature propres et non une adresse mail.

Et pour réaliser un tri par personne c'est plus simple car tout est recroisé via d'autres tableaux

Un coup c'est eux qui envoie un coup c'est moi.

Cordailement

D'accord je vois, alors tu peux faire quelque chose dans ce style là

Public Destinataire As String
Sub test()

    If Worksheets("Feuil1").Range("L3") <> "" Then

        Set recherche = Worksheets("Liste").Range("A2:A1000").Find(What:=Worksheets("Feuil1").Range("C3"), LookAt:=xlWhole)

        Destinataire = Worksheets("Liste").Range("B" & recherche.row).Value

        Call EnvoiMail

    End If

End Sub

Bonjour Baboutz,

Merci pour ta réponse, je viens de tester ton code mais en destinataire il ne m'affiche rien. Peux être que je me suis trompé en inscrivant le code dans mon tableau. Peux tu y jeter un œil?

Salut Arnaud87,

C'est normal ! Tu indiques de chercher la valeur de la cellule "C" sans préciser sa ligne Donc la macro ne sait pas où chercher la valeur.

Tu as :

Set recherche = Worksheets("Liste").Range("A2:A1000").Find(What:=Worksheets("Feuil1").Range("C").Value, LookAt:=xlWhole)

Que tu remplaces par :

Set recherche = Worksheets("Liste").Range("A2:A1000").Find(What:=Worksheets("Feuil1").Range("C" & Target.Row).Value, LookAt:=xlWhole)

(Bon j'ai rajouté ".Value" aussi)

Et hop chez moi, destinataire prend la bonne adresse mél

Bonne journée,

Baboutz

Bon ben je crois que je ne dois faire la bonne manipulation car toujours pas de destinataire affiché. la case reste vide.

J'ai pourtant bien copié ton code.

Enlève Public Destinataire As String du code de ta feuille.

Laisse ce code uniquement dans le code du module des envoies mail, en dessous de Public LigneInfos As Integer.

Chez moi ça marche en faisant ça

A+

Baboutz

Encore un grand merci à toi Baboutz

Pas de soucis Arnaud87 !

Bonne journée,

Baboutz

Rechercher des sujets similaires à "envoi mail destinataire particulier"