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