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
rvz - 27 avril 2008 à 22:53
A voir également:
- Coller dans Excel les noms des fichiers
- Liste déroulante excel - Guide
- Formule excel - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Ce fichier contient l'historique des livres empruntés à la bibliothèque. combien de titres différents contient-il ? ✓ - Forum Excel
- Supprimer les doublons 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
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
5 janv. 2008 à 14:26
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.
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
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.
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
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
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.
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é