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 tous les noms de dossiers d'un répertoire dans une liste déroulante


Sujet :

VBA Access

  1. #1
    Membre régulier Avatar de alexkickstand
    Inscrit en
    Octobre 2002
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 165
    Points : 105
    Points
    105
    Par défaut Lister tous les noms de dossiers d'un répertoire dans une liste déroulante
    bonjour,

    j'aimerais lister tous les noms des dossiers d'un répertoire et les lister dans une liste déroulante
    j'ai trouvé un exemple de code mais j'ai une erreur d'éxécution pour "ListBox.List"

    erreur de compilation : membre de méthode ou de données introuvable

    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
     
    Sub ChercherRépertoire() 
    Dim Liste() As String 
    Dim a As Integer 
    a = 0 
    MyPath = "c:\temp\" 
    MyName = Dir(MyPath, vbDirectory) 
    Do While MyName <> "" 
                 ' Ignore le répertoire courant et le répertoire contenant le répertoire courant 
        If MyName <> "." And MyName <> ".." Then 
                ' Utilise une comparaison au niveau du bit pour vérifier que MyName est un répertoire. 
            If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then 
                ReDim Preserve Liste(a) 
                Liste(a) = MyName 
            End If  ' 
        End If 
        MyName = Dir    ' Extrait l'entrée suivante 
        Loop 
    ListBox.List = Liste 
    End Sub
    merci d'avance

    ps : si vous avez d'autre solutions je suis preneur !!!

    Alex

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Si la zone de liste modifiable, dans le "formulaire1" s'appelle "ListBox"
    propriété origine source = "Liste valeurs",
    voici la sub pour alimenter le contenu :
    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
    Sub ChercherRépertoire()
    Dim Liste As String
    Dim a As Integer
    a = 0
    MyPath = "c:\temp\"
    myName = Dir(MyPath, vbDirectory)
    Do While myName <> ""
                 ' Ignore le répertoire courant et le répertoire contenant le répertoire courant
        If myName <> "." And myName <> ".." Then
                ' Utilise une comparaison au niveau du bit pour vérifier que MyName est un répertoire.
            Liste = Liste & myName & ";"
        End If
        myName = Dir    ' Extrait l'entrée suivante
        Loop
    'pour enlever le ; final
    Liste = Left(Liste, Len(Liste) - 1)
    Forms!Formulaire1.ListBox.RowSource = Liste
    End Sub
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre régulier Avatar de alexkickstand
    Inscrit en
    Octobre 2002
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 165
    Points : 105
    Points
    105
    Par défaut re
    Bonjour, merci beaucoup pour ton aide ca fonctionne au poil !!!

    merci encore

    Alex

  4. #4
    Membre régulier Avatar de alexkickstand
    Inscrit en
    Octobre 2002
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 165
    Points : 105
    Points
    105
    Par défaut RE
    Hello je viens de me rendre compte que si j'ai des fichiers a la racine de mon "repertoire_test" il me les liste dans la listbox

    code source :

    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
    22
    23
    24
    25
     
    Private Sub EntêteFormulaire_click()
     
       Call ChercherRépertoire
     
    End Sub
     
    Sub ChercherRépertoire()
    Dim Liste As String
    Dim a As Integer
    a = 0
    MyPath = "c:\repertoire_test\"
    myName = Dir(MyPath, vbDirectory)
    Do While myName <> ""
    ' Ignore le répertoire courant et le répertoire contenant le répertoire courant
    If myName <> "." And myName <> ".." Then
    ' Utilise une comparaison au niveau du bit pour vérifier que MyName est un répertoire.
    Liste = Liste & myName & ";"
    End If
    myName = Dir ' Extrait l'entrée suivante
    Loop
    'pour enlever le ; final
    Liste = Left(Liste, Len(Liste) - 1)
    Forms!test.ListBoxClient.RowSource = Liste
    End Sub
    merci d'avance

    Alex

Discussions similaires

  1. Réponses: 6
    Dernier message: 12/03/2012, 09h32
  2. Récupération des tous les noms de fichiers d'un répertoire
    Par Ocian dans le forum x86 32-bits / 64-bits
    Réponses: 1
    Dernier message: 19/11/2009, 19h26
  3. Réponses: 4
    Dernier message: 23/02/2009, 19h39
  4. [Tableaux] Lister tous les répertoires dans une liste
    Par cdevl32 dans le forum Langage
    Réponses: 10
    Dernier message: 01/03/2008, 18h20
  5. Réponses: 5
    Dernier message: 11/07/2007, 16h03

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