Re : Sortir fihicer excel de mes emails stockes ds dossier special
salu Smotty,
merci pour toute ton aide.
Ca marche!
Je mets le code après les corrections car il y avait des petits soucis
Maintenant ca marche tres bien…du moins sur mon PC
mais j`ai rencontre un petit souci de +
Des rapports sont re-produits parfois car la personne qui produit le report realise qu`il y a eu un souci (donc je recois un email le 30/12/2008 a 9 AM avec le file excel attache puis un nouvel email avec le même rapport modifie quelques heures apres la date d`email est 30/12/2008 a 11 :45)
AM (AM = matin)
La macro tourne super mais ecrase les files au fur et a mesure donc je ne sais plus a la fin quel est le rapport le + recent. Si je un file TTT date du 30/12/2008 11 :45AM, il va peut etre etre ecrase par celui produit le 30/12/2008 a 9 AM
Or je dois absolument prendre le fichier le + récent.
Alors j`ai pense a 2 solutions mais j`ai besoin de conseils et d`aide
- 1 j`ajoute la date et heure de l`email lorsque je colle les files ds le fichier « TEST MACRO »
- Ds ce cas je dois mettre NomFichier = Attach.FileName & « DATE email au format DATE + HEURE »
- J`ajoute un controle qui colle le file excel en doublon ds un autre folder comme ca je sais quel fichier est en doublon.
Sachant que le nom du file excel inclus une date de production, je pourrai regarder mes emails et voir le + recent.
Les doublons sont des exceptions mais comme je dois filtrer plus de 600-1500 emails selon les mois, ca va me faire gagner un temps monstre cela.
Ds les 2 cas, je fais comment cela ?
Sub ChercheFichiers()
Dim myolApp As Outlook.Application
Dim myNamespace As Outlook.NameSpace
Dim File As Object
Dim MyItems As Items
Dim MyI As Outlook.MailItem
Dim Attach As Attachment
Dim NomFichier, Chemin As String
Set myolApp = CreateObject("Outlook.Application")
'Set myNamespace = myolApp.Session
Set myNamespace = myolApp.GetNamespace("MAPI")
'****************************************************
'upour indiquer où se trouve Le répertoire dans Outlook
Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox)
Set oFld = myFolder.Folders("GDT")
' nom du dossier cree ds ma boite email = GDT - c`est la que je mets tous mes emails que je veux scanner
Set MyItems = oFld.Items
'********************************************************************
'test possible sur l'email avec la propriété "MyI.SenderEmailAddress"
'********************************************************************
For Each MyI In MyItems
If MyI.Attachments.Count > 0 Then
For Each Attach In MyI.Attachments
NomFichier = Attach.FileName
Chemin = "C:\Documents and Settings\xxx\yyy\TEST MACRO\" & NomFichier
Attach.SaveAsFile (Chemin)
Exit For
Next Attach
End If
Next MyI
End Sub