XL 2016 fichier le plus récent et dépalcement

pepeboy

XLDnaute Nouveau
Bonjour,
j'ai trouver le bout de code ci-dessous qui permet de récupérer des fichiers (tri sur xlsm) situés dans plusieurs répertoires et sous répertories et d'en récupérer le nom dans le fichier source.
j'aimerai l'adapter afin de ne récupérer que le plus récent de chaque répertoire.
Et plutôt que de rapatrier le nom en cellule g3 du fichier source, de copier chaque fichier vers un autre répertoire.

VB:
Sub listefichierrecursive()
    a = lfr("C:\data\nouveau test\", "*.xlsm") 'à adapter
    Range("g3").Resize(UBound(a) + 1) = Application.Transpose(a)
End Sub

Function lfr(rep, filtre, Optional ByRef dict, Optional n = 0)
    If IsObject(dict) = False Then Set dict = CreateObject("scripting.dictionary")
    Set FSO = CreateObject("scripting.filesystemobject")
    Set rep = FSO.getfolder(rep)
    For Each repf In rep.subFolders
        lfr repf, filtre, dict, n + 1
    Next repf
    For Each F In rep.Files
        fn = F.Name
        If F.Name Like filtre Then
            dict(F.Name) = 0
        End If
    Next F
    If n = 0 Then lfr = dict.keys
End Function
 

Discussions similaires

Réponses
4
Affichages
2 K

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T