bouhamed mohamed elmahdi
XLDnaute Nouveau
Bonjour,
Je suis un débutant sur le VBA et je rencontre un petit souci au niveau d'un code que j'utilise au niveau d'Outlook et j'aurais bien besoin de vos lumières si possible.
Problématique: je reçoit un email (de la part de mon responsable hiérarchique) et dans lequel il m'envoi en piece jointe des emails qui, eux-mêmes, contiennent des pièces jointes (fichier .csv) avec lesquels je doit bosser.
Mon problème est qu'avec le code VBA ci-dessous, j'arrive à extraire les pièces jointes dans un répertoire sur mon disque dur, mais ce sont seulement les emails qui sont sauvegardés et non pas les fichiers .cvs
Auriez-vous SVP des propositions pour modifier mon code afin de pouvoir extraire les pièces jointes .csv qui sont dans les emails, eux-mêmes en pièce jointe ?
Ci-dessous une capture du mail pour mieux comprendre la situation.
https://drive.google.com/open?id=0B4e6F1NbID1TQk1QTkxOTzExUlE
Je suis un débutant sur le VBA et je rencontre un petit souci au niveau d'un code que j'utilise au niveau d'Outlook et j'aurais bien besoin de vos lumières si possible.
Problématique: je reçoit un email (de la part de mon responsable hiérarchique) et dans lequel il m'envoi en piece jointe des emails qui, eux-mêmes, contiennent des pièces jointes (fichier .csv) avec lesquels je doit bosser.
Mon problème est qu'avec le code VBA ci-dessous, j'arrive à extraire les pièces jointes dans un répertoire sur mon disque dur, mais ce sont seulement les emails qui sont sauvegardés et non pas les fichiers .cvs
Auriez-vous SVP des propositions pour modifier mon code afin de pouvoir extraire les pièces jointes .csv qui sont dans les emails, eux-mêmes en pièce jointe ?
Ci-dessous une capture du mail pour mieux comprendre la situation.
https://drive.google.com/open?id=0B4e6F1NbID1TQk1QTkxOTzExUlE
VB:
Option Explicit
'------------------------------------------------------------------------
'Nécessite d'activer la référence Microsoft Outlook xx.xx Object Library
'------------------------------------------------------------------------
Dim x As Integer
'La boite de réception, la boite des éléments supprimés et tous leurs
'sous dossiers sont pris en compte.
Sub ExportePiecesJointes()
Dim Ol As New Outlook.Application
Dim Ns As Outlook.NameSpace
Dim Dossier As Outlook.MAPIFolder
Set Ns = Ol.GetNamespace("MAPI")
Set Dossier = Ns.Folders(1)
SearchFolders Dossier
x = 0
End Sub
Private Sub SearchFolders(ByVal fld As Outlook.MAPIFolder)
Dim y As Integer
Dim OLmail 'As Outlook.MailItem
Dim pceJointe As Outlook.Attachment
Dim SousDossier As Outlook.MAPIFolder
For Each SousDossier In fld.Folders
'.Item("Nom_Du_Dossier").Items
'MsgBox SousDossier.Name
If SousDossier.DefaultItemType = 0 And SousDossier.Name = "extraction ventes" Then
For Each OLmail In SousDossier.Items
If Not OLmail.Attachments.Count = 0 Then
For y = 1 To OLmail.Attachments.Count
Set pceJointe = OLmail.Attachments(y)
pceJointe.SaveAsFile "C:\PJ\" & pceJointe
Set pceJointe = Nothing
Next y
End If
Next OLmail
End If
SearchFolders SousDossier
Next SousDossier
End Sub