Erreur VBA de plusieurs destinataires par courrier électronique

Vous searchz de l'aide pour envoyer des courriels à une list de personnes. Mon code comporte une boucle simple et saisit la valeur à chaque fois où envoyer le courrier électronique. Pendant le test, le premier courriel sera toujours envoyé. Après cela, la 2ème fois, j'ai une erreur sur ".To"

Run-time error - '-2147221238 (8004010a): l'élément a été déplacé ou supprimé.

Cela m'intéresse parce que le code saisit exactement la prochaine valeur de courrier électronique?

Les e-mails doivent être envoyés un par un, au lieu d'append les destinataires à une list de bcc. Est-ce possible avec VBA? Merci d'avance!

 Sub TestingAgain() 'Setting up the Excel variables. Dim outApp As Object Dim outMailItem As Object Dim iCounter As Integer Dim sDest As Ssortingng Dim sName As Ssortingng 'Create the Outlook application and the empty email. Set outApp = CreateObject("Outlook.Application") Set outMailItem = outApp.CreateItem(0) With outMailItem sDest = "" For i = 2 To WorksheetFunction.CountA(Columns(1)) If i <> "" Then 'Grab first name and email sDest = Cells(i, 5).Value sName = Cells(i, 1).Value 'Send each email .To = sDest .Subject = "FYI" .htmlbody = "Some stuff" .Send Else MsgBox ("Error") End If Next i End With 'Clean up the Outlook application. Set outMailItem = Nothing Set outApp = Nothing End Sub 

Lorsque vous envoyez l'e-mail, l'instance mailItem est terminée et n'est plus disponible. Refactez votre code comme:

 Sub TestingAgain() 'Setting up the Excel variables. Dim outApp As Object Dim outMailItem As Object Dim iCounter As Integer Dim sDest As Ssortingng Dim sName As Ssortingng 'Create the Outlook application and the empty email. Set outApp = CreateObject("Outlook.Application") sDest = "" For i = 2 To WorksheetFunction.CountA(Columns(1)) If i <> "" Then '/ Create the mail item instance. Set outMailItem = outApp.CreateItem(0) With outMailItem 'Grab first name and email sDest = Cells(i, 5).Value sName = Cells(i, 1).Value 'Send each email .To = sDest .Subject = "FYI" .htmlbody = "Some stuff" .send '/ Once sent, mail item is no more available. End With Else MsgBox ("Error") End If Next 'Clean up the Outlook application. Set outMailItem = Nothing Set outApp = Nothing End Sub