Coller dans Excel les noms des fichiers

Fermé
genpière Messages postés 7 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 5 janvier 2008 - 2 janv. 2008 à 17:56
 rvz - 27 avril 2008 à 22:53
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.

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
1
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
1
genpière Messages postés 7 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 5 janvier 2008 1
5 janv. 2008 à 14:26
Ok et un grand merci.
Tout a fonctionné à la perfection.
Tu es trop fort !
Salutations et à bientôt.
1
genpière Messages postés 7 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 5 janvier 2008 1
2 janv. 2008 à 18:54
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.
0

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
0
genpière Messages postés 7 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 5 janvier 2008 1
3 janv. 2008 à 19:11
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.
0
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é
0