Bonjour à tous,
J'utilise depuis plusieurs années la macro suivante :
Elle me sert à reporter dans un tableau les noms des différents fichiers d'un répertoire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 Sub totauxFactures() Dim mois As String, chemin As String, a As String, c As String, D As String Dim fs, dossier, leFichier, lesFichiers, s(), i Application.ScreenUpdating = False mois = InputBox("Choisir un numéro de mois au format mm", "Choix du mois") Select Case mois Case "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12" Case Else Exit Sub End Select 'feuilleMensuelle (mois) Cells(4, 3).Select chemin = ActiveWorkbook.Path & "\" & mois Set fs = CreateObject("Scripting.FileSystemObject") Set dossier = fs.GetFolder(chemin) Set lesFichiers = dossier.Files For Each leFichier In lesFichiers ReDim Preserve s(i) s(i) = leFichier.Name a = s(i) c = Left(a, 11) D = Right(a, Len(a) - 11) Cells(i + 4, 1) = c Cells(i + 4, 2) = Left(D, Len(D) - 4) a = chemin & "\" & a 'chercheMontant a i = i + 1 Next Application.ScreenUpdating = True End Sub
Le nom de mes fichiers est de la forme : 2011 11 01 Client1.xls, 2011 11 02 Client2.xls etc.
Année à 4 chiffres espace le mois à 2 chiffres espace un indice qui s'incrémente de 1 à chaque nouveau fichier suivi du nom du client
2011 11 01 Clients1.xls
2011 11 02 Clients1.xls
...
2011 11 99 Clients99.xls
Jusqu'à présent pas de problème. Mon tableau se remplit bien dans le même ordre que le classement dans le répertoire.
Ce mois ci j'ai plus de 100 fichiers, dans le répertoire ils sont classés chronologiquement, par contre la macro précédente ne respecte pas le classement du répertoire. Les fichiers au delà de 99 sont classés sous le fichier 2011 01 10 Client10.xls et j'obtiens
2011 11 01 Clients1.xls
...
2011 11 10 Clients10.xls
2011 11 100 Clients100.xls
2011 11 101 Clients101.xls
2011 11 11 Clients11.xls
...
2011 11 99 Clients99.xls
J'ai essayé aussi avec Application.FileSearch, j'ai le même résultat.
Ma question est donc de savoir s'il est possible de lister les fichiers dans le même que leur classement dans le répertoire
Merci
Partager