lepigoennier
XLDnaute Junior
Bonjour,
J'ai le code suivant qui fonctionne très bien si je met le chemin complet dans Tbl = EnumFichiers(""). Par contre je voudrais que la macro boucle sur la liste de chemins que j'ai sur la feuille Localisation. Écrit comme tel, il y a le message d'erreur suivant qui m'apparaît : Erreur de compilation, Type d'argument ByRef incompatible. Est-ce que quelqu'un a une idée? Je voudrais aussi que dans la colonne C apparaisse le nom du chemin.
Merci
J'ai le code suivant qui fonctionne très bien si je met le chemin complet dans Tbl = EnumFichiers(""). Par contre je voudrais que la macro boucle sur la liste de chemins que j'ai sur la feuille Localisation. Écrit comme tel, il y a le message d'erreur suivant qui m'apparaît : Erreur de compilation, Type d'argument ByRef incompatible. Est-ce que quelqu'un a une idée? Je voudrais aussi que dans la colonne C apparaisse le nom du chemin.
Merci
Code:
Sub Test()
Dim Tbl() As String
Dim I As Integer
Application.ScreenUpdating = False
Set ShD = Sheets("Localisation")
Set List = ShD.Range("D2:D" & ShD.Range("B65536").End(xlUp).Row)
Tbl = EnumFichiers("List")
'en colonne "A" et "B" de la feuille active si pas vide
If Not (Not Tbl) Then
For I = 1 To UBound(Tbl)
Cells(I, 1) = Tbl(I)
Cells(I, 2) = Right(Tbl(I), Len(Tbl(I)) - InStrRev(Tbl(I), "\"))
Next I
End If
End Sub
Function EnumFichiers(Chemin As String) As String()
Dim TableauFichiers() As String
Dim Fichier As String
Dim I As Integer
Application.ScreenUpdating = False
Set ShD = Sheets("Localisation")
Set List = ShD.Range("D2:D" & ShD.Range("B65536").End(xlUp).Row)
'complète le chemin le cas échéant
If Right(Chemin, 1) <> "\" Then Chemin = Chemin & "\"
'récupère les fichiers
Fichier = Dir(Chemin)
'boucle sur les fichiers du dossier
Do While (Len(Fichier) > 0)
I = I + 1
ReDim Preserve TableauFichiers(1 To I)
TableauFichiers(I) = Fichier
Fichier = Dir()
Loop
'retourne le tableau des noms de fichiers
EnumFichiers = TableauFichiers()
End Function