Option Explicit
Const ThePath As String = 'I:\MC_DEV\Apollo\' '<<< A adjuster
Const SearchString1 As String = 'Toto' '<<< A adjuster
Const SearchString2 As String = 'Zaza' '<<< A adjuster
Const SearchString3 As String = 'Lulu' '<<< A adjuster
Private TabSearchString(3) As String
Private Sub UserForm_Initialize()
Re_Ini
End Sub
Private Sub CheckBox1_Click()
CheckBoxChecker
End Sub
Private Sub CheckBox2_Click()
CheckBoxChecker
End Sub
Private Sub CheckBox3_Click()
CheckBoxChecker
End Sub
Private Sub CheckBoxChecker()
TabSearchString(1) = IIf(Me.CheckBox1.Value = True, SearchString1, 'Grrrrrrrrrrrrrrrrrrr')
TabSearchString(2) = IIf(Me.CheckBox2.Value = True, SearchString2, 'Grrrrrrrrrrrrrrrrrrr')
TabSearchString(3) = IIf(Me.CheckBox3.Value = True, SearchString3, 'Grrrrrrrrrrrrrrrrrrr')
Re_Ini
End Sub
Private Sub Re_Ini()
Dim TabFilesFound As Collection
Dim TheFileName As String
Dim SearcherFile As FileSearch
Dim TabFileNamePath() As String
Dim i As Integer, x As Integer
Dim z As Byte
Set SearcherFile = Application.FileSearch
With SearcherFile
.NewSearch
.FileType = msoFileTypeExcelWorkbooks
.Filename = '*.xls'
.LookIn = ThePath
.SearchSubFolders = False
.Execute msoSortByFileName, msoSortOrderAscending
If .Execute > 0 Then
With .FoundFiles
For i = 1 To .Count
For z = 1 To 3
ReDim Preserve TabFileNamePath(1, 0 To x)
TheFileName = Dir(.Item(i))
If InStr(1, TheFileName, TabSearchString(z)) <> 0 Then
TabFileNamePath(0, x) = Left(TheFileName, Len(TheFileName) - 4)
TabFileNamePath(1, x) = SearcherFile.FoundFiles(i)
x = x + 1
End If
Next z
Next i
End With
Else
MsgBox 'Pas de Fichier trouvé dans ' & ThePath
Exit Sub
End If
End With
Set SearcherFile = Nothing
With Me.ListBox1
.ColumnCount = 2
.ColumnWidths = '100;0'
.Column() = TabFileNamePath
End With
End Sub