Lister noms fichiers de tout un disque pour une extension donnée

titymax

XLDnaute Occasionnel
Bonjour,

En m'appuyant sur le fichier joint, j'aimerais trouver le code permettant de lister tous les noms de fichiers contenus sur un disque dur (par ordre alphabétique) pour une extension donnée et d'y adjoindre le lien hypertexte.

Ainsi, je pourrais par exemple lister l'ensemble des fichiers xls, doc, jpeg, mp3, etc... se trouvant sur un DD.

Merci d'avance pour votre aide précieuse.

A+
 

Pièces jointes

  • Lister noms fichiers.xls
    32.5 KB · Affichages: 144

MJ13

XLDnaute Barbatruc
Re : Lister noms fichiers de tout un disque pour une extension donnée

Bonjour Titymax, MatiChoux

Tu peux essayer de t'aider avec ce code en utilisant like.

Code:
Public idx As Double, Lecteur
Sub Liste_Dossiers()
    t1 = Timer
    On Error Resume Next
    'Cells(1, 2).Value = "Macro test2"
    idx = 2
    Application.ScreenUpdating = False
    Sheets.Add
        Lecteur = InputBox("lecteur à scanner?")
        TousLesDossiers2 Lecteur & ":\", 0
        Application.StatusBar = Format(Timer - t1, "0,0" & " secondes pour Lister les dossiers")
    derl = [A65536].End(xlUp).Row
    Range(Cells(1, 1), Cells(derl, 1)).Select
    Liste_Fichiers_Dossier_droite
    Application.ScreenUpdating = True
End Sub
Sub TousLesDossiers2(LeDossier$, idx As Long)
    Dim FSO As Object, Dossier As Object
    Dim sousRep As Object, Flder As Object
    Dim Fichier As Object, Chemin As String
  On Error Resume Next
   Application.ScreenUpdating = False
    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
        TousLesDossiers2 sousRep.Path, idx
        'idx = idx + 1
     Next
    Set FSO = Nothing
suite:
End Sub
Sub Liste_Fichiers()
'http://forum.hardware.fr/hfr/Programmation/VB-VBA-VBS/liste-fichiers-repertoire-sujet_57846_1.htm
    'ChDir "C:\...Mon chemin....\Mes documents"
    'Range("2:1000").Clear
    On Error Resume Next
    Range(Cells(2, 1), Cells(65536, 1)).Clear
            Dim i  As Integer, z As String
        ChDrive Left(Cells(1, 2), 1)
    ChDir Cells(1, 2).Value
    i = 1
z = Dir("*.txt", 1)
    While z <> ""
    ActiveSheet.Cells(i + 1, 1).Value = z
    i = i + 1
    z = Dir
    Wend
End Sub
Sub Liste_Fichiers_Dossier_droite()
'http://forum.hardware.fr/hfr/Programmation/VB-VBA-VBS/liste-fichiers-repertoire-sujet_57846_1.htm
    'ChDir "C:\...Mon chemin....\Mes documents"
    'Range("2:1000").Clear
    'Range(Cells(2, 1), Cells(65536, 1)).Clear
    t1 = Timer
    i = 1
    On Error Resume Next
    For Each cell In Selection
            'Dim i  As Integer, z As String
        ChDrive Left(Cells(cell.Row, 1), 1)
    ChDir Cells(cell.Row, 1).Value
    
z = Dir("*", 1)
    While z <> ""
    ActiveSheet.Cells(cell.Row, i + 1).Value = z
    i = i + 1
    z = Dir
    Wend
    i = 1
    Next
    ActiveSheet.Name = Lecteur & " " & Format(Date, "DD MM YYYY")
    MsgBox Timer - t1
End Sub
 

titymax

XLDnaute Occasionnel
Re : Lister noms fichiers de tout un disque pour une extension donnée

Bonjour MJ et merci,

Que veux tu dire par "en utilisant like" qu'est ce que cela signifie ?

Comment peut on demander quelle extension rechercher ?

Pour les fichiers trouvés, comment les obtenir en lien hypertexte ?

Matichoux un merci également, mais par contre le fil ne donne pas grand chose par rapport à ce que je souhaite.

A bientôt et merci encore.
Eh oui cela fait bcp de questions, mais la base que tu as donné me plait et j'aimerais la développer.
 

MJ13

XLDnaute Barbatruc
Re : Lister noms fichiers de tout un disque pour une extension donnée

Re

Que veux tu dire par "en utilisant like" qu'est ce que cela signifie ?

En fait le like va être utile pour rechercher des caractères dans une chaîne (il existe de nombreux exemples sur le froum).

Mais, si c'est juste pour une extension, voir le fichier :).

Pour le liens hypertextes, je préfère le clique droit.
 

Pièces jointes

  • ListerNomsFichiersExt.xls
    45.5 KB · Affichages: 138

Lone-wolf

XLDnaute Barbatruc
Re : Lister noms fichiers de tout un disque pour une extension donnée

Bonsoir ralph,

si tu aurais regarder le fichier joint que j'ai mis, tu aurais vu qu'il vas rechercher tous les types de fichiers - ou au choix. Celui de Boisgontier te permet de lister que les classeurs .xls.

A+ :cool:

Amicalement
Lone-wolf
 

ralph45

XLDnaute Impliqué
Re : Lister noms fichiers de tout un disque pour une extension donnée

Bonjour lone-wolf,

D'accord avec toi sur presque toutes les lignes, outre le fait de passer une pub pour notre ami commun.
Pour le code : génial :) ! Pour l'écrit, un peu moins (fan de la guerre des boutons, première version ?) :
si tu aurais regarder le fichier
... eût été plus approprié avec :
si tu avais regardé le fichier

A+, non moins amicalement.
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Lister noms fichiers de tout un disque pour une extension donnée

Bonjour,

Voir PJ

JB
 

Pièces jointes

  • jb-ArborescenceRepertoireLiens.xls
    126.5 KB · Affichages: 202
  • jb-ArborescenceRepertoireLiens.xls
    126.5 KB · Affichages: 215
  • jb-ArborescenceRepertoireLiens.xls
    126.5 KB · Affichages: 212
Dernière édition:

titymax

XLDnaute Occasionnel
Re : Lister noms fichiers de tout un disque pour une extension donnée

Bonjour à tous,

Merci à tous ceux qui ont pris de leur temps pour s'intéressé et répondre à ma demande initiale. Il s'avère que ce que je souhaite est un doux mix des trois ou quatre fichiers que vous avez mis en lien. Je vais essayé en "triturant" les codes de tenter d'en sortir quelque chose...
Quoi qu'il arrive, je reviendrais vous dire ce qu'il en est.

Encore MERCI !!!
 

Statistiques des forums

Discussions
311 711
Messages
2 081 799
Membres
101 818
dernier inscrit
tiftouf5757