Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Lister les pièces jointes d'un email dans Excel

  • Initiateur de la discussion Initiateur de la discussion Wana
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Wana

XLDnaute Nouveau
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
------------------------------------------------------------------------
 
Re : Lister les pièces jointes d'un email dans Excel

Bonjour à vous tous !


J'ai réussi à faire inscrire dans la colonne F un "Oui" si une ou plusieurs pj sont inclues dans l'email.

---------------------------
Dim pj As Attachment
For j = 1 To OLmail.Attachments.Count
Set pj = OLmail.Attachments(j)
Range("F" & a) = "Oui"
Next
Set pj = Nothing
---------------------------

Mais cela ne me dit pas leurs noms... des idées ??

Et avez-vous des solutions pour que ma liste d'emails commence en ligne 6 et non en ligne 2 comme c'est le cas actuellement ?



Par avance, encore merci de votre aide !!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
211
Réponses
4
Affichages
461
Réponses
2
Affichages
511
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…