IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Lister contenu complet répertoire


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 70
    Points : 79
    Points
    79
    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.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 136
    Points : 169
    Points
    169
    Par défaut
    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'

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 70
    Points : 79
    Points
    79
    Par défaut
    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.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 136
    Points : 169
    Points
    169
    Par défaut
    A priori, je dirais qu'il s'agit simplement d'adapter le code... Tu mets dans un module ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 70
    Points : 79
    Points
    79
    Par défaut
    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.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Février 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 136
    Points : 169
    Points
    169
    Par défaut
    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'.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 70
    Points : 79
    Points
    79
    Par défaut
    Bonjour et merci pour la réponse.

    Cela fonctionne comme je le désire.

    Bonne journée.

    +1 pour ta réponse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lister contenu répertoire dans excel
    Par YLKweb dans le forum VBScript
    Réponses: 12
    Dernier message: 14/09/2014, 19h02
  2. [Système/Fichiers/API] Lister contenu répertoire
    Par Tenebrous dans le forum C++Builder
    Réponses: 9
    Dernier message: 11/12/2012, 17h22
  3. Lister contenu d'un répertoire (très simple)
    Par storm85 dans le forum Général Python
    Réponses: 1
    Dernier message: 15/12/2010, 17h10
  4. Lister contenu d'un répertoire
    Par MPEG4 dans le forum POSIX
    Réponses: 31
    Dernier message: 18/06/2008, 12h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo