jai trouvé un truc super:
[code]
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
End Sub
Option Compare Text
Private Type
FILETIME dwLowDateTime As Long
dwHighDateTime As Long
End Type Private Type WIN32_FIND_DATA dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * 260
cAlternate As String * 14
End Type
Private Declare Function
FindFirstFileA Lib "Kernel32" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function
FindNextFileA Lib "Kernel32" (ByVal hFindfile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function
FindClose Lib "Kernel32" (ByVal hFindfile As Long) As Long
Declare Function
GetFileAttributesA Lib "Kernel32" (ByVal lpFileName As String) As Long
Const Masque = "*.xls"
Dim Arr() As String
Dim NbFichiers As Long
Dim FileFindData As WIN32_FIND_DATA
Dim Fichier As String
Sub Test() ReDim Arr(1 To 1)
NbFichiers = 0 Recurse "C:\" Application.ScreenUpdating = False
With Range("A1")
.Resize(NbFichiers) .Value = Application.Transpose(Arr) .Sort [A1]
.EntireColumn.AutoFit
End With
End Sub
Private Sub Recurse(ByVal Chemin As String)
Dim hFindfile As Long h
FindFile = FindFirstFileA(Chemin & "*.*", FileFindData)
If Chemin <> "C:\" Then
FindNextFileA hFindfile, FileFindData
If FindNextFileA(hFindfile, FileFindData) = 0 Then
FindClose hFindfile
Exit Sub
End If
End If
Do Fichier = Chemin & Left$(FileFindData.cFileName, _
InStr(1, FileFindData.cFileName, vbNullChar) - 1)
If GetFileAttributesA(Fichier) And vbDirectory Then
Recurse Fichier & "\"
ElseIf Fichier Like Masque Then
NbFichiers = NbFichiers + 1
ReDim Preserve Arr(1 To NbFichiers)
Arr(NbFichiers) = Fichier
End If
Loop While FindNextFileA(hFindfile, FileFindData) FindClose hFindfile
End Sub
[code]
Mais ca marche pas sur mac evidemment et je me sens pas a la hauteur de corriger tout ce qui passe pas ..
Je trouve dingue que ce soit aussi compliqué de chercher un fichier fichier.xls sur un disque dur