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 SubBonjour 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