Coller dans Excel les noms des fichiers
genpière
Messages postés
7
Statut
Membre
-
rvz -
rvz -
Bonjour,
J'aimerais pouvoir coller dans un fichier Excel tous les noms de fichiers contenus dans un dossier de l'explorateur Windows pour pouvoir ensuite les trier et les classer par sous-domaines d'activité.
Quelqu'un a-t-il une solution simple ?
Merci d'avance pour votre aide.
J'aimerais pouvoir coller dans un fichier Excel tous les noms de fichiers contenus dans un dossier de l'explorateur Windows pour pouvoir ensuite les trier et les classer par sous-domaines d'activité.
Quelqu'un a-t-il une solution simple ?
Merci d'avance pour votre aide.
A voir également:
- Coller dans Excel les noms des fichiers
- Liste déroulante excel - Guide
- Renommer des fichiers en masse - Guide
- Les noms des animaux - Télécharger - Études & Formations
- Word et excel gratuit - Guide
- Si ou excel - Guide
6 réponses
Bjr
Voici une macro
Sub TousLesDossiers(LeDossier$, Idx As Long)
Dim fso As Object, Dossier As Object
Dim sousRep As Object, Flder As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder(LeDossier)
'examen du dossier courant
For Each Flder In Dossier.subfolders
Idx = Idx + 1
Cells(Idx, 1).Value = Flder.Path
Next
'traitement récursif des sous dossiers
For Each sousRep In Dossier.subfolders
TousLesDossiers sousRep.Path, Idx
Next sousRep
Set fso = Nothing
End Sub 'fs
Sub test()
TousLesDossiers "c:\Program Files", 0 'a adapter
End Sub
Voici une macro
Sub TousLesDossiers(LeDossier$, Idx As Long)
Dim fso As Object, Dossier As Object
Dim sousRep As Object, Flder As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder(LeDossier)
'examen du dossier courant
For Each Flder In Dossier.subfolders
Idx = Idx + 1
Cells(Idx, 1).Value = Flder.Path
Next
'traitement récursif des sous dossiers
For Each sousRep In Dossier.subfolders
TousLesDossiers sousRep.Path, Idx
Next sousRep
Set fso = Nothing
End Sub 'fs
Sub test()
TousLesDossiers "c:\Program Files", 0 'a adapter
End Sub
BJR
EN VOICI UNE AUTRE
Sub listefichiers()
Range("a:b") = ""'supprime les anciennes données qui sont la la colonne A et B
chemin = InputBox("Lister fichier", "Saisir un chemin", "c:mondossier\")
ext = InputBox("Lister fichier", "Saisir une extention", "*.*")
Dim i, j As Integer
Dim TabExcel() As String
With Application.FileSearch
.NewSearch
.LookIn = chemin
.Filename = ext
.MatchTextExactly = True
.Execute msoSortByFileName
ReDim TabExcel(.FoundFiles.Count, 2)
For i = 1 To .FoundFiles.Count
For j = Len(.FoundFiles(i)) To 1 Step -1
If Mid(.FoundFiles(i), j, 1) = "\" Then
TabExcel(i, 0) = Left(.FoundFiles(i), j)
TabExcel(i, 1) = Right(.FoundFiles(i), Len(.FoundFiles(i)) - j)
j = 1
End If
Next j
Next i
Range(Cells(5, 1), Cells(.FoundFiles.Count + 5, 2)) = TabExcel
End With
End Sub
EN VOICI UNE AUTRE
Sub listefichiers()
Range("a:b") = ""'supprime les anciennes données qui sont la la colonne A et B
chemin = InputBox("Lister fichier", "Saisir un chemin", "c:mondossier\")
ext = InputBox("Lister fichier", "Saisir une extention", "*.*")
Dim i, j As Integer
Dim TabExcel() As String
With Application.FileSearch
.NewSearch
.LookIn = chemin
.Filename = ext
.MatchTextExactly = True
.Execute msoSortByFileName
ReDim TabExcel(.FoundFiles.Count, 2)
For i = 1 To .FoundFiles.Count
For j = Len(.FoundFiles(i)) To 1 Step -1
If Mid(.FoundFiles(i), j, 1) = "\" Then
TabExcel(i, 0) = Left(.FoundFiles(i), j)
TabExcel(i, 1) = Right(.FoundFiles(i), Len(.FoundFiles(i)) - j)
j = 1
End If
Next j
Next i
Range(Cells(5, 1), Cells(.FoundFiles.Count + 5, 2)) = TabExcel
End With
End Sub
Ok et un grand merci.
Tout a fonctionné à la perfection.
Tu es trop fort !
Salutations et à bientôt.
Tout a fonctionné à la perfection.
Tu es trop fort !
Salutations et à bientôt.
Merci néné pour la réponse rapide.
Malheureusement, j'ai aucune connaissance des macros sous Excel.
Est-ce possible de m'aider ou, y-a-t-il une autre solution ?
Merci d'avance.
Malheureusement, j'ai aucune connaissance des macros sous Excel.
Est-ce possible de m'aider ou, y-a-t-il une autre solution ?
Merci d'avance.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je pense que tu n'a pas le choix
n'oublie pas que sur Excel il y a une aide
touche F1
puis dans la fenêtre met Macro puis rechercher
puis choisi "copie d'une macro"
je pense que tu vas t'en sortir
n'oublie pas que sur Excel il y a une aide
touche F1
puis dans la fenêtre met Macro puis rechercher
puis choisi "copie d'une macro"
je pense que tu vas t'en sortir
Un collègue de travail m'a aidé aujourd'hui à faire la macro proposée.
La macro proposée donne les noms des dossiers mais pas les noms des fichiers contenus dans ces dossiers.
Peut-être qu'il faudrait descendre d'un niveau.
Qu'en penses-tu?
Si c'est possible, peux-tu me donner la suite de la macro?
Encore merci.
La macro proposée donne les noms des dossiers mais pas les noms des fichiers contenus dans ces dossiers.
Peut-être qu'il faudrait descendre d'un niveau.
Qu'en penses-tu?
Si c'est possible, peux-tu me donner la suite de la macro?
Encore merci.
Bonjour,
Je viens de voir ma première macro.
Je n'ai pas besoin de la partie récursif des sous dossiers
Mais par contre comment fait on pour ne faire apparaitre que le nom du dossier ??
Ce serait génial
Je chercher,je cherche mais je n'ai pas trouvé mais je réfléchis peut être mal
Cordialement et merci d'avance
Hervé
Je viens de voir ma première macro.
Je n'ai pas besoin de la partie récursif des sous dossiers
Mais par contre comment fait on pour ne faire apparaitre que le nom du dossier ??
Ce serait génial
Je chercher,je cherche mais je n'ai pas trouvé mais je réfléchis peut être mal
Cordialement et merci d'avance
Hervé