Lister des fichiers d'un dossier dans Excel

Quelques cours et astuces Excel créés par nos membres. Partagez vos connaissances, vos astuces, ...

Lister des fichiers d'un dossier dans Excel

Messagepar souri84 » 25 Oct 2007, 11:44

Pour plusieurs raisons, le fait de lister les noms de fichiers présents dans un répertoire peut être utile.

Par exemple, en ce moment, je dois faire une recherche des fichiers scannés sur un réseau et faire ressortir les doublons.

A partir de là, vu les 8 000 fichiers présents sur le réseau, je ne vais pas le faire à la main.

Voici donc une macro bien sympa qui permet maintenant à l'entreprise de vérifier plus rapidement et plus facilement les doublons de contrats sur son réseau:

Code: Tout sélectionner
Sub test_import_noms_dossiers()
With Application.FileSearch

' adresse du répertoire
.LookIn = "C:<span style="font-weight: bold">mon répertoire/</span>" A MODIFIER SELON CONVENANCE

' type ou nom du fichier
.Filename = "*.pdf"  A MODIFIER SELON CONVENANCE

' recherche dans les sous-dossiers
.SearchSubFolders = True A MODIFIER SELON CONVENANCE

' executer la recherche
.Execute

' insertion dans le classeur excel
For i = 1 To .FoundFiles.Count
Cells(i + 2, 1) = .FoundFiles(i) A MODIFIER SELON CONVENANCE
Next
End With
End Sub


Attention, si beaucoup de fichiers sont sur le réseau, cela risque de prendre un peu de temps... ici, environ 7 minutes pour 8 000 fichiers...

Et je ne touche pas à Excel sinon ça bug... (mais ça c'est sans doute parce que j'ai une machine d'avant guerre)
Excel 2003 / Excel 2007
Référencer son site : c'est par ici
souri84
Membre impliqué
 
Messages: 1069
Inscription: 07 Mai 2007, 17:03
Localisation: Consultant en contrôle de gestion : Easydashboard
Version Excel: 2003 FR / 2007 UK

Messagepar Mytå » 29 Nov 2007, 00:06

Salut le forum

Attention sous Excel 2007 Application.FileSearch ne fonctionne pas.

Mytå
Mytå
 

Re: Lister des fichiers d'un dossier dans Excel

Messagepar looping » 15 Déc 2009, 14:32

IL existe un équivalent sous 2007?
Merci!
looping
Utilisateur occasionnel
 
Messages: 13
Inscription: 27 Oct 2009, 13:09
Version Excel: Excel 2007 FR

Re: Lister des fichiers d'un dossier dans Excel

Messagepar Mytå » 15 Déc 2009, 22:54

Salut le forum

Un équivalent oui, c'est une macro complémentaire (Addins)

Suivre le lien suivant : FileSearch pour Excel 2007

Mytå
Le bug le plus rencontré en informatique est l’interface chaise-clavier.
Avatar de l’utilisateur
Mytå
Membre impliqué
 
Messages: 1276
Inscription: 28 Nov 2009, 00:41
Localisation: Québec
Version Excel: Excel 2003 & 2007

Re: Lister des fichiers d'un dossier dans Excel

Messagepar toto31 » 19 Mars 2010, 11:04

merci !! c'est super utile ca !!

et juste c'est possible de rajouter un lien pour les ouvrir les fichiers quand on clique sur la liste qui est crée ?

merci d'avance !
toto31
Membre habitué
 
Messages: 59
Inscription: 17 Mars 2010, 08:56
Version Excel: 2003 FR

Re: Lister des fichiers d'un dossier dans Excel

Messagepar Mytå » 19 Mars 2010, 23:40

Salut le forum

Pour créer un lien voici un bout de code a adapter au besoin
Code: Tout sélectionner

For i = 1 To .FoundFiles.Count
Cells(i + 2, 1) = .FoundFiles(i) A MODIFIER SELON CONVENANCE
        With ActiveSheet
            .Hyperlinks.Add Anchor:=.Cells(i + 2, 1), _
            Address:=Chemin & "\" & .Cells(i + 2, 1), _
            TextToDisplay:=.Cells(i + 2, 1).Value
            .Hyperlinks(i).ScreenTip = " VERS:" & .Cells(i + 2, 1).Value
        End With
Next i
 

Mytå
Le bug le plus rencontré en informatique est l’interface chaise-clavier.
Avatar de l’utilisateur
Mytå
Membre impliqué
 
Messages: 1276
Inscription: 28 Nov 2009, 00:41
Localisation: Québec
Version Excel: Excel 2003 & 2007

Re: Lister des fichiers d'un dossier dans Excel

Messagepar toto31 » 22 Mars 2010, 08:34

merci mais elle ne marche pas les lignes entre les with sont rouges... je n'arrive pas à la rendre correct...
il dit qu'il ya des erreurs de synthaxe mais je ne les vois pas...
merci d'avance !!

Code: Tout sélectionner
Sub test_import_noms_dossiers()
With Application.FileSearch

' adresse du répertoire
.LookIn = "G:\DT"

' type ou nom du fichier
.Filename = "*.xls"

' recherche dans les sous-dossiers
.SearchSubFolders = True

' executer la recherche
.Execute

' insertion dans le classeur excel
For i = 1 To .FoundFiles.Count
Cells(i + 2, 1) = .FoundFiles(i)
        With ActiveSheet
            .Hyperlinks.Add Anchor:=.Cells(i + 2, 1), _
            Address:=Chemin &amp; "\" &amp; .Cells(i + 2, 1), _
            TextToDisplay:=.Cells(i + 2, 1).Value
            .Hyperlinks(i).ScreenTip = " VERS:" & .Cells(i + 2, 1).Value
        End With
Next i
End With
End Sub
toto31
Membre habitué
 
Messages: 59
Inscription: 17 Mars 2010, 08:56
Version Excel: 2003 FR

Re: Lister des fichiers d'un dossier dans Excel

Messagepar Mytå » 22 Mars 2010, 16:20

Re le forum

Essaye comme ceci
Code: Tout sélectionner

Sub test_import_noms_dossiers()
With Application.FileSearch
' adresse du répertoire
.LookIn = "G:\DT"
' type ou nom du fichier
.Filename = "*.xls"
' recherche dans les sous-dossiers
.SearchSubFolders = True
' executer la recherche
.Execute
' insertion dans le classeur excel
For i = 1 To .FoundFiles.Count
Cells(i + 2, 1) = .FoundFiles(i)
        With ActiveSheet
            .Hyperlinks.Add Anchor:=.Cells(i + 2, 1), _
            Address:=.Cells(i + 2, 1), _
            TextToDisplay:=.Cells(i + 2, 1).Value
            .Hyperlinks(i).ScreenTip = " VERS:" & .Cells(i + 2, 1).Value
        End With
Next i
End With
End Sub
 

Mytå

P.S. Remplace &amp; par &
Le bug le plus rencontré en informatique est l’interface chaise-clavier.
Avatar de l’utilisateur
Mytå
Membre impliqué
 
Messages: 1276
Inscription: 28 Nov 2009, 00:41
Localisation: Québec
Version Excel: Excel 2003 & 2007

Re: Lister des fichiers d'un dossier dans Excel

Messagepar toto31 » 23 Mars 2010, 08:14

Trop merci !!! c'est niquel et ca marche !!!!
c'est pratique ca quand meme

et je pensais enfait pour linstant je fait ca avec des fichiers 1 onglet, et un tableau 2 colone (Crtiere = données)
mais enfait j'ai plusieur onglet avec le meme tableau dans chaque
est ce que cest possible de créer des liens hypertexte pour chaque onglet meme si c'est le meme fichier ?
je sais pas si je suis clair...
quand la liste sort, qu'il te mette
G:/A.xls(onglet"X4E")
G:/A.xls(onglet"DA2")
tu crois que ca serait possible, ca serait super classe...

En tout cas merci beaucoup pour ce code génial !

-- 23 Mar 2010, 10:52 --

J'ai trouvé ca pour lister les onglets présents
j'aimerais bien pouvoir grouper ces 2 macros pour que les liens utilise cette liste d'onglet présent pour aussi les mettre dans la liste des liens hypertexte...
quelqu'un aurait-il une idée de génie ?

merci d'avance

Code: Tout sélectionner
For i = 1 To Sheets.Count
    msge = msge & vbNewLine & Sheets(i).Name
Next i

MsgBox "Le classeur comporte les onglets " _
    & "suivant : " & vbNewLine & msge, , "Liste des onglets"
toto31
Membre habitué
 
Messages: 59
Inscription: 17 Mars 2010, 08:56
Version Excel: 2003 FR


Retourner vers Cours et astuces

 


  • Sujets similaires
    Réponses
    Vus
    Dernier message

Utilisateurs en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité