Private Sub Command1_Click() Dim fso As FileSystemObject Dim objFolder As Folder Dim colFiles As Files, objFile As File Dim StartFolder As String Dim cntFolders As Long, cntFiles As Long
StartFolder = "C:RepDepart" Set fso = New FileSystemObject
Set objFolder = fso.GetFolder(StartFolder) Debug.Print objFolder.Path & " : " & objFolder.Files.Count Set colFiles = objFolder.Files For Each objFile In colFiles Debug.Print objFile.Name Next Debug.Print
Private Sub ShowSubFolders(fso As FileSystemObject, _ fld As Folder, _ ByRef cntFolders As Long, _ ByRef cntFiles As Long) Dim SubFolder As Folder, objFolder As Folder Dim colFiles As Files, objFile As File
For Each SubFolder In fld.SubFolders Debug.Print SubFolder.Path & " : " & SubFolder.Files.Count Set objFolder = fso.GetFolder(SubFolder.Path) Set colFiles = objFolder.Files For Each objFile In colFiles Debug.Print objFile.Name Next Debug.Print cntFolders = cntFolders + 1 cntFiles = cntFiles + colFiles.Count ShowSubFolders fso, SubFolder, cntFolders, cntFiles Next End Sub
PS : le FileSystemObject est sujet à diverses appréciations ;-) Voir ce fil, ou semble t-il il n'est pas si mauvais que ça :
Private Sub Command1_Click()
Dim fso As FileSystemObject
Dim objFolder As Folder
Dim colFiles As Files, objFile As File
Dim StartFolder As String
Dim cntFolders As Long, cntFiles As Long
StartFolder = "C:RepDepart"
Set fso = New FileSystemObject
Set objFolder = fso.GetFolder(StartFolder)
Debug.Print objFolder.Path & " : " & objFolder.Files.Count
Set colFiles = objFolder.Files
For Each objFile In colFiles
Debug.Print objFile.Name
Next
Debug.Print
Private Sub ShowSubFolders(fso As FileSystemObject, _
fld As Folder, _
ByRef cntFolders As Long, _
ByRef cntFiles As Long)
Dim SubFolder As Folder, objFolder As Folder
Dim colFiles As Files, objFile As File
For Each SubFolder In fld.SubFolders
Debug.Print SubFolder.Path & " : " & SubFolder.Files.Count
Set objFolder = fso.GetFolder(SubFolder.Path)
Set colFiles = objFolder.Files
For Each objFile In colFiles
Debug.Print objFile.Name
Next
Debug.Print
cntFolders = cntFolders + 1
cntFiles = cntFiles + colFiles.Count
ShowSubFolders fso, SubFolder, cntFolders, cntFiles
Next
End Sub
PS : le FileSystemObject est sujet à diverses appréciations ;-)
Voir ce fil, ou semble t-il il n'est pas si mauvais que ça :
Private Sub Command1_Click() Dim fso As FileSystemObject Dim objFolder As Folder Dim colFiles As Files, objFile As File Dim StartFolder As String Dim cntFolders As Long, cntFiles As Long
StartFolder = "C:RepDepart" Set fso = New FileSystemObject
Set objFolder = fso.GetFolder(StartFolder) Debug.Print objFolder.Path & " : " & objFolder.Files.Count Set colFiles = objFolder.Files For Each objFile In colFiles Debug.Print objFile.Name Next Debug.Print
Private Sub ShowSubFolders(fso As FileSystemObject, _ fld As Folder, _ ByRef cntFolders As Long, _ ByRef cntFiles As Long) Dim SubFolder As Folder, objFolder As Folder Dim colFiles As Files, objFile As File
For Each SubFolder In fld.SubFolders Debug.Print SubFolder.Path & " : " & SubFolder.Files.Count Set objFolder = fso.GetFolder(SubFolder.Path) Set colFiles = objFolder.Files For Each objFile In colFiles Debug.Print objFile.Name Next Debug.Print cntFolders = cntFolders + 1 cntFiles = cntFiles + colFiles.Count ShowSubFolders fso, SubFolder, cntFolders, cntFiles Next End Sub
PS : le FileSystemObject est sujet à diverses appréciations ;-) Voir ce fil, ou semble t-il il n'est pas si mauvais que ça :
Jacques93 a écrit : > Bonjour Patrick, > Patrick a écrit : >> Bonjour, >> >> J'utilise la bibliothèque "Windows Scripting Runtime" pour accéder au >> File System. >> >> Y a-t-il un moyen d'obtenir le nombre total de fichiers dans un >> répertoire, y compris ses sous-répertoires ? >> > > Oui, en utilisant la récursivité. Un exemple ici en bas de page, à > adapter : > > <http://www.microsoft.com/technet/scriptcenter/resources/qanda/oct04/hey1020.mspx> > > Par exemple :
Option Explicit
Private Sub Command1_Click() Dim fso As FileSystemObject Dim objFolder As Folder Dim colFiles As Files, objFile As File Dim StartFolder As String Dim cntFolders As Long, cntFiles As Long
StartFolder = "C:RepDepart" Set fso = New FileSystemObject
Set objFolder = fso.GetFolder(StartFolder) Debug.Print objFolder.Path & " : " & objFolder.Files.Count Set colFiles = objFolder.Files For Each objFile In colFiles Debug.Print objFile.Name Next Debug.Print
Private Sub ShowSubFolders(fso As FileSystemObject, _ fld As Folder, _ ByRef cntFolders As Long, _ ByRef cntFiles As Long) Dim SubFolder As Folder, objFolder As Folder Dim colFiles As Files, objFile As File
For Each SubFolder In fld.SubFolders Debug.Print SubFolder.Path & " : " & SubFolder.Files.Count Set objFolder = fso.GetFolder(SubFolder.Path) Set colFiles = objFolder.Files For Each objFile In colFiles Debug.Print objFile.Name Next Debug.Print cntFolders = cntFolders + 1 cntFiles = cntFiles + colFiles.Count ShowSubFolders fso, SubFolder, cntFolders, cntFiles Next End Sub
PS : le FileSystemObject est sujet à diverses appréciations ;-) Voir ce fil, ou semble t-il il n'est pas si mauvais que ça :
Jacques93 a écrit :
> Bonjour Patrick,
> Patrick a écrit :
>> Bonjour,
>>
>> J'utilise la bibliothèque "Windows Scripting Runtime" pour accéder au
>> File System.
>>
>> Y a-t-il un moyen d'obtenir le nombre total de fichiers dans un
>> répertoire, y compris ses sous-répertoires ?
>>
>
> Oui, en utilisant la récursivité. Un exemple ici en bas de page, à
> adapter :
>
> <http://www.microsoft.com/technet/scriptcenter/resources/qanda/oct04/hey1020.mspx>
>
>
Par exemple :
Option Explicit
Private Sub Command1_Click()
Dim fso As FileSystemObject
Dim objFolder As Folder
Dim colFiles As Files, objFile As File
Dim StartFolder As String
Dim cntFolders As Long, cntFiles As Long
StartFolder = "C:RepDepart"
Set fso = New FileSystemObject
Set objFolder = fso.GetFolder(StartFolder)
Debug.Print objFolder.Path & " : " & objFolder.Files.Count
Set colFiles = objFolder.Files
For Each objFile In colFiles
Debug.Print objFile.Name
Next
Debug.Print
Private Sub ShowSubFolders(fso As FileSystemObject, _
fld As Folder, _
ByRef cntFolders As Long, _
ByRef cntFiles As Long)
Dim SubFolder As Folder, objFolder As Folder
Dim colFiles As Files, objFile As File
For Each SubFolder In fld.SubFolders
Debug.Print SubFolder.Path & " : " & SubFolder.Files.Count
Set objFolder = fso.GetFolder(SubFolder.Path)
Set colFiles = objFolder.Files
For Each objFile In colFiles
Debug.Print objFile.Name
Next
Debug.Print
cntFolders = cntFolders + 1
cntFiles = cntFiles + colFiles.Count
ShowSubFolders fso, SubFolder, cntFolders, cntFiles
Next
End Sub
PS : le FileSystemObject est sujet à diverses appréciations ;-)
Voir ce fil, ou semble t-il il n'est pas si mauvais que ça :
Jacques93 a écrit : > Bonjour Patrick, > Patrick a écrit : >> Bonjour, >> >> J'utilise la bibliothèque "Windows Scripting Runtime" pour accéder au >> File System. >> >> Y a-t-il un moyen d'obtenir le nombre total de fichiers dans un >> répertoire, y compris ses sous-répertoires ? >> > > Oui, en utilisant la récursivité. Un exemple ici en bas de page, à > adapter : > > <http://www.microsoft.com/technet/scriptcenter/resources/qanda/oct04/hey1020.mspx> > > Par exemple :
Option Explicit
Private Sub Command1_Click() Dim fso As FileSystemObject Dim objFolder As Folder Dim colFiles As Files, objFile As File Dim StartFolder As String Dim cntFolders As Long, cntFiles As Long
StartFolder = "C:RepDepart" Set fso = New FileSystemObject
Set objFolder = fso.GetFolder(StartFolder) Debug.Print objFolder.Path & " : " & objFolder.Files.Count Set colFiles = objFolder.Files For Each objFile In colFiles Debug.Print objFile.Name Next Debug.Print
Private Sub ShowSubFolders(fso As FileSystemObject, _ fld As Folder, _ ByRef cntFolders As Long, _ ByRef cntFiles As Long) Dim SubFolder As Folder, objFolder As Folder Dim colFiles As Files, objFile As File
For Each SubFolder In fld.SubFolders Debug.Print SubFolder.Path & " : " & SubFolder.Files.Count Set objFolder = fso.GetFolder(SubFolder.Path) Set colFiles = objFolder.Files For Each objFile In colFiles Debug.Print objFile.Name Next Debug.Print cntFolders = cntFolders + 1 cntFiles = cntFiles + colFiles.Count ShowSubFolders fso, SubFolder, cntFolders, cntFiles Next End Sub
PS : le FileSystemObject est sujet à diverses appréciations ;-) Voir ce fil, ou semble t-il il n'est pas si mauvais que ça :