Téléchargé 3 fois
Vote des utilisateurs
0
0
Détails
Licence : Non renseignée
Mise en ligne le 3 janvier 2011
Langue : Français
Référencé dans
Navigation
Fonction récursive de parcours d'un répertoire
Fonction récursive de parcours d'un répertoire
Un code VBSCript, qui pourra vous servir de base pour créer vos fonctions récursives de gestions des fichiers d'un répertoire ( et de ses sous-répertoires)
adaptez la fonction TraiteFichier à votre traitement.
adaptez la fonction TraiteFichier à votre traitement.
Bonjour,
C'est pile-poil le programme que je voulais mais en VBA. A noter dans ton programme une petite erreur dans dim oSubFloder au lieu de Dim oSubFolder.
Merci encore, voilà une super base de travail pour moi qui commence la programmation.
Eric
Voilà l'adaptation du programme en VBA:
C'est pile-poil le programme que je voulais mais en VBA. A noter dans ton programme une petite erreur dans dim oSubFloder au lieu de Dim oSubFolder.
Merci encore, voilà une super base de travail pour moi qui commence la programmation.
Eric
Voilà l'adaptation du programme en VBA:
| Code : | Sélectionner tout |
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 | 'Declaration
Dim stRepInital 'Nom du répertoire à parcourir
Dim oFSO, oFld, oSubFolder
'==============================================
'Fonction récursive de parcours d'un répertoire
'==============================================
'http://vb.developpez.com/telecharger/detail/id/797/Fonction-recursive-de-parcours-d-un-repertoire
Sub ParcoursRepT()
Call stRecInit
Call ParcoursRep(stRepInital)
End Sub
Sub stRecInit()
Set oFSO = CreateObject("Scripting.FileSystemObject")
stRepInital = ThisWorkbook.Path 'lance à partir du repertoire ou il y a le code
End Sub
Sub ParcoursRep(ByVal stRep As String)
MsgBox "Traite : " & stRep
If oFSO.FolderExists(stRep) Then
Set oFld = oFSO.GetFolder(stRep)
MsgBox "Size :" & oFld.Size
If oFld.SubFolders.Count > 0 Then 'Teste le nombre de sous-répertoire dans stRep
MsgBox "Name :" & oFld.Path & "oFld.Count :" & oFld.SubFolders.Count
For Each oSubFolder In oFld.SubFolders
ParcoursRep oSubFolder.Path 'appel récursif de la procédure
Next
Else
If oFld.Files.Count > 0 Then 'Teste le nombre de fichier dans le sous-répertoire
MsgBox "Non Vide fichiers : " & oFld.Files.Count
Else
MsgBox "===> A detruire ===> " & oFld.Name & "SubFolders.Count :" & oFld.SubFolders.Count
End If
End If
End If
End Sub |
Merci EricS...
j'ai corrigé et rajouté l'option Explicit, qui m'aurait permis de déceler cette erreur ( sans conséquence sur le fonctionnement du code) plus tôt.
Cdt.
j'ai corrigé et rajouté l'option Explicit, qui m'aurait permis de déceler cette erreur ( sans conséquence sur le fonctionnement du code) plus tôt.
Cdt.
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.