Probleme de "folder" - VBA - URGENT!!! MERCI

Little_Dev Messages postés 36 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 4 mars 2008 - 28 avril 2006 à 13:04
Little_Dev Messages postés 36 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 4 mars 2008 - 28 avril 2006 à 14:50
Bonjour a tous,

Si ma question n'est pas dans le bon forum, je vous prie de m'excuser car je ne savais pas ou la mettre... Sorry

Bon voila mon soucis,j'essaie de recuperer le nom de folders, mais lorsques que j'execute la macro (code ci-dessous), je n'ai pas tous les folders... par exemple dans l'explorer windows j'ai 60 folders et lors que j'execute la macro ,j'en ai 25... Bizzare

    Dim fs, f, f1, fc
    Dim Row As Integer
   
    Row = 2
   
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder("C:\Documents and Settings\Neo\Desktop\REVIEW\Reviewer")
    Set fc = f.SubFolders
   
    For Each f1 In fc
        ThisWorkbook.Sheets("List Reviewer").Cells(Row, 5).Value = f1.Name
        Row = Row + 1
    Next

Je vous remercie de vous etes interessé par mon probleme, dans l'attente d'une reponse merci a vous tous.

Little_Dev
   

4 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
28 avril 2006 à 13:27
Salut,

Je comprends pas ton "For Each f1 In fc"
=> f1 ne correspond à rien, tu l'as déclaré avec Dim, mais pas avec Set !?
0
Little_Dev Messages postés 36 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 4 mars 2008
28 avril 2006 à 14:01
En fait "f1" est un curseur qui permet de parcourir une collection, en l'occurence dans mon code,il contient un objet folder, dans lequel on peux reucperer différent info (Name,drive,...).

En claire pour chaque item dans le folder , je recupere le nom du folder (f1.Name) que je stocke dans une cellule Excel.

Voila,voila.. j'espere que j'ai été claire car ce n'est pas facile d'expliquer comme ça...si tu as des questions n'hesite pas.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
28 avril 2006 à 14:15
Essai cette procédure :

Sub AfficherNomDossier

Dim fs, f, fc
Dim Row As Integer
Row = 2

Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder("C:\Documents and Settings\Neo\Desktop\REVIEW\Reviewer")
fc = f.SubFolders

For Each fc In fs
ThisWorkbook.Sheets("List Reviewer").Cells(Row, 5).Value = fc.Name
Row = Row + 1
Next

End Sub
0
Little_Dev Messages postés 36 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 4 mars 2008
28 avril 2006 à 14:50
Cela ne marche pas  car il faut mettre :

 Set fc = f.SubFolders

Et quand il execute la ligne suivante : For Each fc In fs, on a un message d'erreur

Erreur :
Run-time error '438':

Object doesn't support this property or method

Mais en fait, je me suis rendu compte que lorsque que je demande le nombre de folder dans l'explorer, il me retourne le nombre de folder + les sous folder, c'est pour ça que j'ai une difference avec le nombre de folder en VBA.

En tout cas merci de t'etre interessé a mon probleme, si tu as des questions concernat ces quelques lignes de code, fais moi le savoir.

@+ Little_dev
0
Rejoignez-nous