Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1115 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA - accèder au nom de sous-repertoire avec FileSystemeObject

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA - accèder au nom de sous-repertoire avec FileSystemeObject

n°1794629
skan_one
Posté le 01-10-2008 à 23:30:14  profilanswer
 

Bonjour,
 
Je cherche à lister les noms des sous-repertoire qui se trouvent dans un repertoire donné.
Je n'arrive pas à utiliser la propriété Name de l'objet Folder (FileSystemeObject), qui me renvoit une erreur quand je veux l'utiliser.
 
Voici mon code pour l'instant :
 

Citation :

Set oFSO = CreateObject("Scripting.FileSystemObject" ) 'Instanciation de l'objet FileSystemeObject
Set oF1d = oFSO.GetFolder(Repertoire)                       'Instanciation de mon objet repertoire source
 
   For Each subfolder In oF1d.SubFolders                     'Parcours des sous-repertoires de mon objet repertoire
            k = k + 1
            Worksheets("Feuil1" ).Range("A" & k).Select
            ActiveCell.Value = oF1d.Type(subfolder)        
    Next
 
'C'est à l'avant derniere ligne que le bas blesse : erreur "La procédure property Let n'est pas définie et la  procédure   property get n'a pas renvoyé d'objet"


 
Merci pour votre aide !

mood
Publicité
Posté le 01-10-2008 à 23:30:14  profilanswer
 

n°1794632
kiki29
Posté le 01-10-2008 à 23:34:26  profilanswer
 
n°1794635
skan_one
Posté le 01-10-2008 à 23:46:03  profilanswer
 

Merci pour la réponse, mais cependant ces codes ne permettent que de lister les fichiers contenus dans les dossiers.
Dans le cas présent je veux juste m'arreter aux noms des dossiers.  
 
Je sais récupérer le chemin d'accès du dossier, mais pas juste
le nom du dossier...

n°1794636
kiki29
Posté le 01-10-2008 à 23:57:14  profilanswer
 

Dans le dernier exemple tu as les chemins et les fichiers


.....
        With ShFichiers  
            .Cells(NbFichiers, 1) = sChemin  
            .Cells(NbFichiers, 2) = Fichier  
        End With
......


 
Utiliser Pos=InStrRev(sChemin , "\" ) puis Right avec Len(sChemin ) - Pos


Message édité par kiki29 le 02-10-2008 à 00:05:30
n°1794645
kiki29
Posté le 02-10-2008 à 02:59:42  profilanswer
 

Re, j'avais oublié, normalement GetBaseName est utilisé pour retourner le nom du fichier sans son extension mais en lui passant le chemin il retourne le dossier contenant le fichier concerné


        With ShFichiers
            .Cells(NbFichiers, 1) = FSO.GetBaseName(sChemin)
            .Cells(NbFichiers, 2) = Fichier
        End With


 
D'ou l'importance de développer en Early Binding et ensuite de passer en Late Binding ...


Message édité par kiki29 le 02-10-2008 à 03:18:54
n°1794669
skan_one
Posté le 02-10-2008 à 09:17:59  profilanswer
 

GetBaseName retourne bien le nom du repertoire comme il le fait pour un fichier, ca marche, merci !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA - accèder au nom de sous-repertoire avec FileSystemeObject

 

Sujets relatifs
[VBA] Fermer Excel et enregistrerParcourir un répertoire (Résolu)
VBA : rompre les liaisons, sauf les liens hypertextesVBA - Souci avec récupération données DTPicker
[Shell/Bash] Compter nombre de fichiers dans un répertoire[VBA] Macro exécutée pas à pas...
[VBA] Listview : dernière ligne ajoutée[VBA] Zone de liste... question alignement colonnes !
Lister / naviguer dans des répertoires via Tomcatscript bat pour effacer sous repertoire, sauf certain
Plus de sujets relatifs à : VBA - accèder au nom de sous-repertoire avec FileSystemeObject


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR