Envoi mail unique a 1 ou plusieurs destinataires
Bonjour le forum,
J'ai un souci avec la macro suivante:
Sub test()
Dim oOutlook As Object
Dim oMail As Object
Dim oObjetWord As Object
Dim Sujet As String
Dim rng As Range
Set oOutlook = CreateObject("Outlook.Application")
Set oMail = oOutlook.CreateItem(0)
With oMail
For Each rng In Range("P44:U45")
If rng <> "" Then
.Recipients.Add (Replace(LCase([rng]), " ", ".") & "@" & "test.fr")
.Subject = "Test"
.HTMLBody = "<html><body>Bonjour,<br><br>" _
& "Ceci est un test.<br><br>" _
& "Veuillez ne pas en prendre compte.<br><br>" _
& "Cordialement.<br><br>"
'.Display
.Send
End If
Next rng
End With
End SubLorsque je renseigne une seule cellule de la plage, l'envoi du mail se fait sans problème.
Dès que je renseigne une deuxième cellule, j'ai une erreur "&h8004010a"
Par contre si je fais ".Display", les 2 destinataires s'affiche bien.
Je ne comprends pas d'où vient le problème
NB: le "test.fr" dans Recipients.Add est évidemment factice, l'adresse réelle étant celle du boulot.
Merci d'avance à celui qui se penchera sur mon souci.
Cordialement.
Bonjour Nico68,
Un essai non testé :
Sub test()
Dim oOutlook As Object
Dim oMail As Object
' Dim oObjetWord As Object ' n'est pas utile
Dim Sujet As String
Dim rng As Range
Set oOutlook = CreateObject("Outlook.Application")
For Each rng In Range("P44:U45")
If rng <> "" Then
Set oMail = oOutlook.CreateItem(0)
With oMail
.Recipients.Add (Replace(LCase([rng]), " ", ".") & "@" & "test.fr")
.Subject = "Test"
.HTMLBody = "<html><body>Bonjour,<br><br>" _
& "Ceci est un test.<br><br>" _
& "Veuillez ne pas en prendre compte.<br><br>" _
& "Cordialement.<br><br>"
'.Display
.Send
End With
Set oMail = Nothing
End If
Next rng
End SubBizz
Bonjour,
Essaye de mettre cette ligne :
Set oMail = oOutlook.CreateItem(0)à l'intérieur de ta boucle FOR...next (au début bien sur)
Car tu crées bien ton oMail mais tu l'envoies donc tu n'es plus dans la même instance, il faut peut être re-créer ton mail à chaque destinataire.
Je pense que cela pourrait venir de là.
Bon dimanche
PS: Comme le fait Bizarre qui a répondu + vite
Bonjour Bizarre, ptipanda,
Effectivement, le souci venait de l'odre dans la boucle.
Correction faite avec le code de Bizarre et tout fonctionne correctement.
Merci à vous 2