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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
| Option Explicit
Dim fso As Object
Dim fld As Object
Private Function TrouveFichiers(ByVal sFol As String, sFile As String, _
NbRep As Long, NbFichiers As Long) As Currency
Dim tFld, NomFichier As String
Set fso = CreateObject("Scripting.FileSystemObject")
On Error GoTo Catch
Set fld = fso.GetFolder(sFol)
NomFichier = Dir(fso.BuildPath(fld.Path, sFile), vbNormal Or _
vbHidden Or vbSystem Or vbReadOnly)
While Len(NomFichier) <> 0
TrouveFichiers = TrouveFichiers + FileLen(fso.BuildPath(fld.Path, _
NomFichier))
NbFichiers = NbFichiers + 1
ListBox1.AddItem fso.BuildPath(fld.ShortPath, NomFichier)
'ou ListBox1.AddItem NomFichier 'uniquement le nom des fichiers
NomFichier = Dir()
DoEvents
Wend
Label1 = "Recherche " & vbCrLf & fld.Path & "..."
NbRep = NbRep + 1
If fld.SubFolders.Count > 0 Then
For Each tFld In fld.SubFolders
DoEvents
TrouveFichiers = TrouveFichiers + TrouveFichiers(tFld.Path, sFile, NbRep, NbFichiers)
Next
End If
Exit Function
Catch: NomFichier = ""
Resume Next
End Function
Private Sub Find_Click()
Dim NbRep As Long, NbFichiers As Long, NbBytes As Currency
Dim Depart As String, Extension As String
ListBox1.Clear
Depart = "C:\test\"
Extension = TextBox1.Value & "*.pdf"
Label1.Caption = "Recherche " & vbCrLf & UCase(Depart) & "..."
NbBytes = TrouveFichiers(Depart, Extension, NbRep, NbFichiers)
MsgBox Str(NbFichiers) & " Fichiers trouvés ", vbInformation
If NbBytes = "0" Then
End If
End Sub
Private Sub Explorer_Click()
Dim MonDossier As String
MonDossier = "C:\test\"
Shell Environ("WINDIR") & "\explorer.exe " & MonDossier, vbNormalFocus
End Sub
Private Sub ListBox1_Click()
WebBrowser1.Navigate Me.ListBox1.List(ListBox1.ListIndex)
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim sFichier As String, WsShell As Object
Dim MSG As String
If IsNull(ListBox1) Then
MSG = MsgBox("Veuillez sélectionner un fichier")
Else
sFichier = Me.ListBox1.List(ListBox1.ListIndex)
If Len(sFichier) = 0 Then Exit Sub
Set WsShell = CreateObject("WScript.Shell")
WsShell.Run "AcroRd32 " & sFichier
Set WsShell = Nothing
End If
End Sub
Private Sub Quitter_Click()
ThisWorkbook.Saved = True
ThisWorkbook.Close
End Sub |
Partager