Je tente d'extraire l'adresse e-mail de l'expéditeur de tous les e-mails d'un dossier de boîte de réception. Je n'ai aucun problème jusqu'à ce que j'atteigne ma commande For pour chaque email dans le dossier. Si j'utilise le code tel qu'il est maintenant, je rencontre une erreur car olSender n'est pas Dim comme Variante, mais si je le change en Variant je ne peux pas le Dim comme Outlook.MailItem pour récupérer l'adresse de senderemail. Je suppose qu'une boucle For imbriquée est la solution, je continue à peine à trouver la réponse. Outlook 2013 est la version.Comment récupérer SenderEmailAddress de chaque élément de courrier dans un dossier Outlook?
Sub ExportToExcel()
'EXCEL
'Opening Excel workbook
Dim oXLApp As Object, oXLwb As Object, oXLws As Object
Dim lRow As Long
On Error Resume Next
Set oXLApp = GetObject(, "Excel.Application")
'~~> If not found then create new instance
If Err.Number <> 0 Then
Set oXLApp = CreateObject("Excel.Application")
End If
Err.Clear
On Error GoTo 0
oXLApp.Visible = True
Set oXLwb = oXLApp.Workbooks.Open("C:\Users\******\Documents\******.xlsm")
Set oXLws = oXLwb.Sheets("Sheet1")
oXLws.Range("A" & 1).Select
'OUTLOOK
'Opening Outlook folder
Dim olNS As Outlook.NameSpace
Dim objOwner As Outlook.Recipient
Set olNS = Application.GetNamespace("MAPI")
Set objOwner = olNS.CreateRecipient("*********@email.com")
objOwner.Resolve
If objOwner.Resolved Then
Set BouncedEmailsFolder = olNS.GetSharedDefaultFolder(objOwner, olFolderInbox).Folders("Bounced Emails")
End If
Dim olItms As Outlook.Items
Dim olMail As Variant
Dim i As Long
Dim olSender As Outlook.MailItem
Set olItms = BouncedEmailsFolder.Items
olItms.Sort ("Subject")
i = 1
For Each olSender In olItms
oXLws.Select
oXLws.Cells(i, 1).Select
oXLws.Cells(i, 1).Value = olSender.SenderEmailAddress
i = i + 1
Next olSender
Set BouncedEmailsFolder = Nothing
Set olNS = Nothing
End Sub
Try 'Si Item.Class = olMail Then' après pour chaque – 0m3r