Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Obtenir une liste de répertoire

8 réponses
Avatar
François Racine
Je souhaite obtenir dans Excel la liste de tous les répertoires ce trouvants
dans la racine de i:\trousses.
Comment puis-je faire?
J'ai tenté avec MSQUERY et le pilote ODBC Wbem mais il plante aussitôt que
je tente de me connecter à CIMV2 ou ROOT.

Quelles sont les alternatives?

8 réponses

Avatar
MichDenis
La liste s'inscrira dans la colonne A:A de la feuille active


Sub test1()

Dim A As Integer
Dim Fs As Object, Files As Object, F As Object
Dim NomDossier As String
Dim Sf As Object, Fx As Object

Set Fs = CreateObject("Scripting.FileSystemObject")

NomDossier = "i:trousses" ' choix du répertoire

'On Error Resume Next
If NomDossier = "" Then Exit Sub
Set Dossier = Fs.GetFolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
Set F = Fs.GetFolder(NomDossier)
Set Sf = F.SubFolders
'Pour chaque répertoire de la collection répertoires
For Each Fx In Sf
A = A + 1
Range("A" & A) = Fx.Name
Next
End If
End Sub





"François Racine" a écrit dans le message de news:

Je souhaite obtenir dans Excel la liste de tous les répertoires ce trouvants
dans la racine de i:trousses.
Comment puis-je faire?
J'ai tenté avec MSQUERY et le pilote ODBC Wbem mais il plante aussitôt que
je tente de me connecter à CIMV2 ou ROOT.

Quelles sont les alternatives?
Avatar
Patrick Penet
Nourrir une collection avec les noms de répertoires :

Dim cCol As New Collection
cCol.Add Dir("I:trousses", vbDirectory)
Do
cCol.Add Dir()
Loop While Not Dir() = ""

Il suffit ensuite de lister la collection.

P.

"François Racine" a écrit dans le message de news:
Je souhaite obtenir dans Excel la liste de tous les répertoires ce trouvants dans la racine de i:trousses.
Comment puis-je faire?
J'ai tenté avec MSQUERY et le pilote ODBC Wbem mais il plante aussitôt que je tente de me connecter à CIMV2 ou ROOT.

Quelles sont les alternatives?



Avatar
François Racine
Excellent!!!! Merci!
"MichDenis" a écrit dans le message de news:

La liste s'inscrira dans la colonne A:A de la feuille active


Sub test1()

Dim A As Integer
Dim Fs As Object, Files As Object, F As Object
Dim NomDossier As String
Dim Sf As Object, Fx As Object

Set Fs = CreateObject("Scripting.FileSystemObject")

NomDossier = "i:trousses" ' choix du répertoire

'On Error Resume Next
If NomDossier = "" Then Exit Sub
Set Dossier = Fs.GetFolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
Set F = Fs.GetFolder(NomDossier)
Set Sf = F.SubFolders
'Pour chaque répertoire de la collection répertoires
For Each Fx In Sf
A = A + 1
Range("A" & A) = Fx.Name
Next
End If
End Sub





"François Racine" a écrit dans le message de
news:

Je souhaite obtenir dans Excel la liste de tous les répertoires ce
trouvants
dans la racine de i:trousses.
Comment puis-je faire?
J'ai tenté avec MSQUERY et le pilote ODBC Wbem mais il plante aussitôt que
je tente de me connecter à CIMV2 ou ROOT.

Quelles sont les alternatives?





Avatar
François Racine
Et quelles modifications devrais-je effectuer si je souhaitais obtenier
uniquement les noms de fichiers et pas les répertoires?

"MichDenis" a écrit dans le message de news:

La liste s'inscrira dans la colonne A:A de la feuille active


Sub test1()

Dim A As Integer
Dim Fs As Object, Files As Object, F As Object
Dim NomDossier As String
Dim Sf As Object, Fx As Object

Set Fs = CreateObject("Scripting.FileSystemObject")

NomDossier = "i:trousses" ' choix du répertoire

'On Error Resume Next
If NomDossier = "" Then Exit Sub
Set Dossier = Fs.GetFolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
Set F = Fs.GetFolder(NomDossier)
Set Sf = F.SubFolders
'Pour chaque répertoire de la collection répertoires
For Each Fx In Sf
A = A + 1
Range("A" & A) = Fx.Name
Next
End If
End Sub





"François Racine" a écrit dans le message de
news:

Je souhaite obtenir dans Excel la liste de tous les répertoires ce
trouvants
dans la racine de i:trousses.
Comment puis-je faire?
J'ai tenté avec MSQUERY et le pilote ODBC Wbem mais il plante aussitôt que
je tente de me connecter à CIMV2 ou ROOT.

Quelles sont les alternatives?





Avatar
MichDenis
Ceci te donne la liste des fichiers contenus dans les sous-répertoires (1er niveau) du répertoire
racine
mais pas les fichiers dans le répertoire racine lui-même


Sub test1()

Dim A As Integer
Dim Fs As Object, Files As Object, F As Object
Dim NomDossier As String, Fil As Object
Dim Sf As Object, Fx As Object

Set Fs = CreateObject("Scripting.FileSystemObject")

NomDossier = "C:aTravail" ' choix du répertoire

If NomDossier = "" Then Exit Sub
Set Dossier = Fs.GetFolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
Set F = Fs.GetFolder(NomDossier)
Set Sf = F.SubFolders
'Pour chaque répertoire de la collection répertoires
For Each Fx In Sf
For Each Fil In Fx.Files
A = A + 1
Range("A" & A) = Fil.Name
Next
Next
End If
End Sub




"François Racine" a écrit dans le message de news:

Et quelles modifications devrais-je effectuer si je souhaitais obtenier
uniquement les noms de fichiers et pas les répertoires?

"MichDenis" a écrit dans le message de news:

La liste s'inscrira dans la colonne A:A de la feuille active


Sub test1()

Dim A As Integer
Dim Fs As Object, Files As Object, F As Object
Dim NomDossier As String
Dim Sf As Object, Fx As Object

Set Fs = CreateObject("Scripting.FileSystemObject")

NomDossier = "i:trousses" ' choix du répertoire

'On Error Resume Next
If NomDossier = "" Then Exit Sub
Set Dossier = Fs.GetFolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
Set F = Fs.GetFolder(NomDossier)
Set Sf = F.SubFolders
'Pour chaque répertoire de la collection répertoires
For Each Fx In Sf
A = A + 1
Range("A" & A) = Fx.Name
Next
End If
End Sub





"François Racine" a écrit dans le message de
news:

Je souhaite obtenir dans Excel la liste de tous les répertoires ce
trouvants
dans la racine de i:trousses.
Comment puis-je faire?
J'ai tenté avec MSQUERY et le pilote ODBC Wbem mais il plante aussitôt que
je tente de me connecter à CIMV2 ou ROOT.

Quelles sont les alternatives?





Avatar
François Racine
J'apprécie votre aide.
Est-ce que cela donne les fichiers se trouvants dans c:atravail ou ceux
dans c:atravailrep1... ? Ce que je recherche ce sont les fichiers dans
c:atravail
"MichDenis" a écrit dans le message de news:

Ceci te donne la liste des fichiers contenus dans les sous-répertoires
(1er niveau) du répertoire
racine
mais pas les fichiers dans le répertoire racine lui-même


Sub test1()

Dim A As Integer
Dim Fs As Object, Files As Object, F As Object
Dim NomDossier As String, Fil As Object
Dim Sf As Object, Fx As Object

Set Fs = CreateObject("Scripting.FileSystemObject")

NomDossier = "C:aTravail" ' choix du répertoire

If NomDossier = "" Then Exit Sub
Set Dossier = Fs.GetFolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
Set F = Fs.GetFolder(NomDossier)
Set Sf = F.SubFolders
'Pour chaque répertoire de la collection répertoires
For Each Fx In Sf
For Each Fil In Fx.Files
A = A + 1
Range("A" & A) = Fil.Name
Next
Next
End If
End Sub




"François Racine" a écrit dans le message de
news:

Et quelles modifications devrais-je effectuer si je souhaitais obtenier
uniquement les noms de fichiers et pas les répertoires?

"MichDenis" a écrit dans le message de news:

La liste s'inscrira dans la colonne A:A de la feuille active


Sub test1()

Dim A As Integer
Dim Fs As Object, Files As Object, F As Object
Dim NomDossier As String
Dim Sf As Object, Fx As Object

Set Fs = CreateObject("Scripting.FileSystemObject")

NomDossier = "i:trousses" ' choix du répertoire

'On Error Resume Next
If NomDossier = "" Then Exit Sub
Set Dossier = Fs.GetFolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
Set F = Fs.GetFolder(NomDossier)
Set Sf = F.SubFolders
'Pour chaque répertoire de la collection répertoires
For Each Fx In Sf
A = A + 1
Range("A" & A) = Fx.Name
Next
End If
End Sub





"François Racine" a écrit dans le message
de
news:

Je souhaite obtenir dans Excel la liste de tous les répertoires ce
trouvants
dans la racine de i:trousses.
Comment puis-je faire?
J'ai tenté avec MSQUERY et le pilote ODBC Wbem mais il plante aussitôt
que
je tente de me connecter à CIMV2 ou ROOT.

Quelles sont les alternatives?










Avatar
MichDenis
| Ce que je recherche ce sont les fichiers dans c:atravail


Sub test1()

Dim A As Integer
Dim Fs As Object, Files As Object, F As Object
Dim NomDossier As String, Fil As Object
Dim Sf As Object, Fx As Object

Set Fs = CreateObject("Scripting.FileSystemObject")

NomDossier = "C:aTravail" ' choix du répertoire

If NomDossier = "" Then Exit Sub
Set Dossier = Fs.GetFolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
Set F = Fs.GetFolder(NomDossier)
For Each Fil In F.Files
A = A + 1
Range("A" & A) = Fil.Name
Next
End If

End Sub
Avatar
François Racine
Merci! Merci! Merci!

"MichDenis" a écrit dans le message de news:

| Ce que je recherche ce sont les fichiers dans c:atravail


Sub test1()

Dim A As Integer
Dim Fs As Object, Files As Object, F As Object
Dim NomDossier As String, Fil As Object
Dim Sf As Object, Fx As Object

Set Fs = CreateObject("Scripting.FileSystemObject")

NomDossier = "C:aTravail" ' choix du répertoire

If NomDossier = "" Then Exit Sub
Set Dossier = Fs.GetFolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
Set F = Fs.GetFolder(NomDossier)
For Each Fil In F.Files
A = A + 1
Range("A" & A) = Fil.Name
Next
End If

End Sub