Ajout texte conditionnel - Mail

Fermé
EViLapin - 24 mai 2018 à 16:05
 EViLapin - 25 mai 2018 à 15:33
Bonjour,

Voici mon code :

Option Explicit

Dim ObjOutlook As New Outlook.Application
Dim oBjMail
Dim strMsg As String
______________
Sub envoi_mail()

Set ObjOutlook = New Outlook.Application
Set oBjMail = ObjOutlook.CreateItem(olMailItem)

strMsg = "Bonjour" _
& "Suite à la vérification des conditions de participation, les personnes suivantes peuvent participer :"


With oBjMail
.To = ""
.Subject = ""
.HTMLBody = strMsg
.Attachments.Add "C:\Chemindufichierconcerné..."
.Display

End With

Set oBjMail = Nothing
Set ObjOutlook = Nothing

End Sub


Ce mail va contenir des informations reprises du tableau Excel.

Mon tableau Excel comprend plusieurs colonnes, notamment :
A = Nom_Prénom
B = Condition1 Oui/Non
C = Condition2 Oui/Non
D = Est dans les conditions pour participer Oui/Non

Je souhaiterais que mon mail contienne :
"Bonjour" _
& "Suite à la vérification des conditions de participation, les personnes suivantes peuvent participer :"

+ Les noms et prénom (A1, A2, A3, ...) des personnes pour lesquelles D = "Oui" (D1 pour A1, D2 pour A2, D3 pour A3, ...).

Est-ce possible ?
Si oui, comment faire ?

D'avance, un tout tout grand merci pour votre précieuse aide.

EViLapin





A voir également:

2 réponses

f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 709
24 mai 2018 à 17:12
Bonjour,

Option Explicit

Dim ObjOutlook As New Outlook.Application
Dim oBjMail
Dim strMsg As String
'______________
Sub envoi_mail()

Set ObjOutlook = New Outlook.Application
Set oBjMail = ObjOutlook.CreateItem(olMailItem)

strMsg = "Bonjour" & vbNewLine _
                & "A la suite de la vérification des conditions de participation, les personnes suivantes peuvent participer :" & newline _
'------------------Ajout des personnes ok pour participation----------------
    With Worksheets("feuil1")       'nom de feuille a adapter
        Set Plage = .Range("A1:D" & .Range("A" & .Rows.Count).End(xlUp).Row)
    End With
    NBL = Plage.Rows.Count
    NP = 0
    For n = 1 To NBL
        If UCase(Plage(n, 4)) = "OUI" Then
            strMsg = strMsg & vbNewLine & vbTab & "- " & Plage(n, 1)
        End If
    Next n
'--------------------------------------------------
With oBjMail
    .To = ""
    .Subject = ""
    .HTMLBody = strMsg
    .Attachments.Add "C:\Chemindufichierconcerné..."
    .Display  'ouvre Outlook et confirmer envoi ou pas
    '.Send      'envoi direct
End With
Set oBjMail = Nothing
Set ObjOutlook = Nothing

End Sub
0
Bonjour,

Merci pour votre réponse.

Malheureusement, ça ne fonctionne pas.
Les variables sont non définies, me dit-il...
0
f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 709
25 mai 2018 à 14:58
Bonjour,
Eh ben definissez les!!!!!!!!!!!!!!!!!!!!!!!
0
Même définies, ça ne fonctionne pas.
0
J'ai trouvé la solution, pour ceux que ça pourrait intéresser dans le futur :

For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
    If Range("D" & i) = "Oui" Then
        strMsg = strMsg & "- " & Range("A" & i).Value & "<br>"
    End If
Next


Merci
0