Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/10/2011, 10h42   #1
Membre du Club
 
Inscription : mai 2010
Messages : 58
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 58
Points : 58
Points : 58
Par défaut Lister contenu complet répertoire

Bonjour,

Je cherche le code afin de lister tous les fichiers d'un répertoire et ses sous-répertoires.

Auriez-vous un code ou une adresse pour trouver la solution.

Merci et bonne journée.
domibigoudi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2011, 10h48   #2
Membre régulier
 
Inscription : février 2010
Messages : 100
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 100
Points : 92
Points : 92
Bonjour,

Alors alors...

Google => "vba access lister contenu répertoire" =>
http://access.developpez.com/faq/?pa...ep#contenu_rep



Déjà utilisé, fonctionne très bien

Cordialement,
Beub'
Beub' est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2011, 10h53   #3
Membre du Club
 
Inscription : mai 2010
Messages : 58
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 58
Points : 58
Points : 58
Bonjour et merci,

Je connaissais ce code sauf qu'il ne liste que le répertoire seul, or je cherche aussi à connaître les fichiers dans les sous-répertoires.

Bonne journée.
domibigoudi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2011, 11h16   #4
Membre régulier
 
Inscription : février 2010
Messages : 100
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 100
Points : 92
Points : 92
A priori, je dirais qu'il s'agit simplement d'adapter le code... Tu mets dans un module ce code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Public Sub ListeRepertoire(RepertoireDeBase As String)
 
Dim rep As String
 
'obtient le premier fichier ou répertoire qui est dans "RepertoireDeBase"
rep = Dir(RepertoireDeBase, vbDirectory)
'boucle tant que le répertoire n'a pas été entièrement parcouru
Do While (rep <> "")
    If (rep <> "." And rep <> "..") Then
        'teste si c'est un fichier ou un répertoire
        If (GetAttr(RepertoireDeBase & rep) And vbDirectory) = vbDirectory Then
            MsgBox "Répertoire " & rep
            ListeRepertoire (RepertoireDeBase & rep & "\")
        Else
            MsgBox "Fichier " & rep
        End If
        'passe à l'élément suivant
    End If
    rep = Dir
Loop
End Sub
Et tu l'appelles sur l'évènement que tu veux avec le répertoire que tu veux, sans oublier que "répertoire de base" doit finir par "\"... donc "C:\", ou "C:\Truc\"... "C:\Truc" ne fonctionnera pas.

Je n'ai pas testé complètement par contre, donc pas sûr que ça fonctionne
Beub' est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2011, 12h26   #5
Membre du Club
 
Inscription : mai 2010
Messages : 58
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 58
Points : 58
Points : 58
Re,

J'ai testé le code et il fonctionne mais il ne lit pas tous les sous-répertoires, cad un Rep dans un Rep dans un Rep,... sur plusieurs niveaux.

Merci.
domibigoudi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2011, 14h32   #6
Membre régulier
 
Inscription : février 2010
Messages : 100
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 100
Points : 92
Points : 92
Re,

J'ai bien compris ce que tu voulais, pas la peine de copier-coller ta réponse deux fois de suite...
Si tu relis bien le code que j'ai fourni dans le post précédent, tu constateras que ce n'est pas exactement le même que celui fourni dans la FAQ. Je l'ai adapté rapidement pour qu'il fasse dans la récursivité (tu noteras l'appel de la Sub ListeRepertoire au sein même de la Sub ListeRepertoire).

Après l'avoir testé (à l'instant), je peux te dire qu'il ne tourne pas.

Seulement voilà, Google n'a pas dit son dernier mot... Solution developpez.com :
http://vb.developpez.com/faq/?page=Fichiers#rep_sousrep

Après l'avoir testée, celle-ci fonctionne et fait ce que tu demandes.

Cordialement,
Beub'.
Beub' est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/11/2011, 08h04   #7
Membre du Club
 
Inscription : mai 2010
Messages : 58
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 58
Points : 58
Points : 58
Bonjour et merci pour la réponse.

Cela fonctionne comme je le désire.

Bonne journée.

+1 pour ta réponse.
domibigoudi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h06.


 
 
 
 
Partenaires

Hébergement Web