Bonjour à vous tous,
[cf. le code en fin du message]
J'ai réalisé une macro qui me permet d'aller chercher tous les emails contenus dans un dossier des Archives Outlook et de rentrer dans un tableau Excel les données que je souhaite.
J'ai deux soucis :
* Je voudrais que ma liste commence à la ligne 6, et non à la ligne 2 comme c'est le cas actuellement.
* Je voudrais que dans la colonne F s'affiche le nom des pièces jointes des email (s'il y en a). Or Range("F" & a) = OLmail.Attachments ne m'affiche rien
Pouvez-vous m'aider (encore une fois) ?
Par avance, je vous remercie !!!
------------------------------------------------------------------------
Private Sub Mails_contactsOutlook()
Dim olApp As Outlook.Application
Dim Cible As Outlook.ContactItem
Dim dossierContacts As Outlook.MAPIFolder
Dim Dossier As Outlook.MAPIFolder
Dim Ns As Outlook.Namespace
Set olApp = New Outlook.Application
Set dossierContacts = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
Set Ns = olApp.GetNamespace("MAPI")
Set Dossier = Ns.Folders(2)
SearchFolders Dossier
End Sub
Private Sub SearchFolders(ByVal Fld As Outlook.MAPIFolder)
Dim OLmail As Outlook.MailItem
Dim SousDossier As Outlook.MAPIFolder
Dim c As Range, start As Long, trouv As Long, msg As String
On Error Resume Next
For Each SousDossier In Fld.Folders
If UCase(SousDossier.Name) = "05_SIW" Then
For Each OLmail In SousDossier.Items
a = Range("B" & Cells.Rows.Count).End(xlUp)(2, 1).Row
Range("B" & a) = OLmail.Subject
Range("C" & a) = OLmail.SenderName
Range("D" & a) = OLmail.To
Range("E" & a) = OLmail.CreationTime
Range("F" & a) = OLmail.Attachments
Next OLmail
SearchFolders SousDossier
End If
Next SousDossier
End Sub
Sub start()
If [B2] <> "" Then Range("B2:E" & Range("E" & Cells.Rows.Count).End(xlUp).Row).Clear
'With Application: .ScreenUpdating = False: .DisplayAlerts = False: End With
Mails_contactsOutlook
'[B5].Sort Key1:=[B5], Key2:=[C5]
'With Application: .ScreenUpdating = True: .DisplayAlerts = True: End With
End Sub
------------------------------------------------------------------------
[cf. le code en fin du message]
J'ai réalisé une macro qui me permet d'aller chercher tous les emails contenus dans un dossier des Archives Outlook et de rentrer dans un tableau Excel les données que je souhaite.
J'ai deux soucis :
* Je voudrais que ma liste commence à la ligne 6, et non à la ligne 2 comme c'est le cas actuellement.
* Je voudrais que dans la colonne F s'affiche le nom des pièces jointes des email (s'il y en a). Or Range("F" & a) = OLmail.Attachments ne m'affiche rien
Pouvez-vous m'aider (encore une fois) ?
Par avance, je vous remercie !!!
------------------------------------------------------------------------
Private Sub Mails_contactsOutlook()
Dim olApp As Outlook.Application
Dim Cible As Outlook.ContactItem
Dim dossierContacts As Outlook.MAPIFolder
Dim Dossier As Outlook.MAPIFolder
Dim Ns As Outlook.Namespace
Set olApp = New Outlook.Application
Set dossierContacts = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
Set Ns = olApp.GetNamespace("MAPI")
Set Dossier = Ns.Folders(2)
SearchFolders Dossier
End Sub
Private Sub SearchFolders(ByVal Fld As Outlook.MAPIFolder)
Dim OLmail As Outlook.MailItem
Dim SousDossier As Outlook.MAPIFolder
Dim c As Range, start As Long, trouv As Long, msg As String
On Error Resume Next
For Each SousDossier In Fld.Folders
If UCase(SousDossier.Name) = "05_SIW" Then
For Each OLmail In SousDossier.Items
a = Range("B" & Cells.Rows.Count).End(xlUp)(2, 1).Row
Range("B" & a) = OLmail.Subject
Range("C" & a) = OLmail.SenderName
Range("D" & a) = OLmail.To
Range("E" & a) = OLmail.CreationTime
Range("F" & a) = OLmail.Attachments
Next OLmail
SearchFolders SousDossier
End If
Next SousDossier
End Sub
Sub start()
If [B2] <> "" Then Range("B2:E" & Range("E" & Cells.Rows.Count).End(xlUp).Row).Clear
'With Application: .ScreenUpdating = False: .DisplayAlerts = False: End With
Mails_contactsOutlook
'[B5].Sort Key1:=[B5], Key2:=[C5]
'With Application: .ScreenUpdating = True: .DisplayAlerts = True: End With
End Sub
------------------------------------------------------------------------