Envoyer Mail personnalisé avec VBA

Bonjour à tous,

En exécutant le code suivant ce message d'erreur s'affiche :" Erreur d'exécution '1004', erreur définie par l'application ou par l'objet". En sachant que dans mon excel se trouve une colonne avec les noms et une avec les adresses email. De plus, je n'ai toujours pas trouvé le moyen de créer un htmlbody avec"Bonjour"+ "aller chercher le nom dans la premiere colonne"

Si jamais vous voyez d'où peut provenir l'erreur je vous en serez reconnaissante. Merci d'avance.

Voici le code:

Sub envoiparmail()

Dim ObjOutlook As New Outlook.Application

Dim oBjMail

Dim Nom As String

Dim Email As String

Dim i As Integer

Set FL = Worksheets("Destinataires")

LineNB = ActiveCell.Row

Nom = FL.Cells(Ligne, 1)

Mail = FL.Cells(Ligne, 2)

heures = FL.Cells(Ligne, 3)

Body = "Bonjour " + Nom + " Selon le fichier extraction du 22/03/2021,vous avez . Vous en souhaitant bonne réception.Cordialement. "

Subject = Nom + "-" + heures

Set ObjOutlook = New Outlook.Application

Set oBjMail = ObjOutlook.CreateItem(olMailItem)

destinataires = Array("****.*****@gmail.com", _

"****.*****@gmail.com", _

"****.*****@gmail.com")

With oBjMail

For i = 0 To UBound(destinataires)

Set dest_A = .Recipients.Add(destinataires(i))

dest_A.Type = olTo

Next i

.Subject = "Heures imputees"

.HTMLBody = Body

.display

End With

End Sub

Bonjour,

il est d'usage de mettre un fichier exemple représentatif des données et de ce que l'on veut faire.

Ta macro devrait ressembler à ceci (code que je n'ai bien sûr pas pu tester sur tes données)

Sub envoiparmail()

    Dim ObjOutlook As Object
    Dim OBjMail As Object
    Dim FL As Object
    Dim Email As String
    Dim message As String
    Dim Nom As String
    Dim ligne As Integer

    Set ObjOutlook = CreateObject("Outlook.Application")

    Set FL = Worksheets("Destinataires")
    dl = FL.Cells(Rows.CountLarge, 1).End(xlUp).Row
    dateextraction = "22/03/2021"

    For ligne = 1 To dl
        Set OBjMail = ObjOutlook.CreateItem(olMailItem)
        Nom = FL.Cells(ligne, 1)
        Email = FL.Cells(ligne, 2)
        heures = FL.Cells(ligne, 3)
        message = "Bonjour " + Nom + " Selon le fichier extraction du " & dateextraction & " vous avez " & heures & vbCrLf & "Vous en souhaitant bonne réception.Cordialement. "
        With OBjMail
            .To = Email
            .Subject = "Heures imputees"
            .Body = message
            .Display
        End With
    Next ligne

End Sub

Bonjour h2so4,

Je vous remercie pour vos conseils, étant novice, ils me sont d'une très grande aide. Je tacherai de le faire la prochaine fois.

Pour la macro, j'ai réussi c'est très gentil.

Nouun

Rechercher des sujets similaires à "envoyer mail personnalise vba"