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
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas