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

Macros et VBA Excel Discussion :

Liste des fichiers dans une ListBox en fonction de l’extension choisie dans une autre ListBox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    841
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 841
    Par défaut Liste des fichiers dans une ListBox en fonction de l’extension choisie dans une autre ListBox
    Bonjour,

    Je fais à nouveau appel à votre aide afin de régler un petit souci que j'ai pour lister les fichiers dans une ListBox en fonction de l’extension choisie dans une première ListBox.

    Après la sélection du dossier, la liste des extensions des fichiers contenus dans celui-ci s’affiche dans la première ListBox et suite au choix d’une extension, la liste des fichiers ayant cette extension s’affiche dans la deuxième ListBox.

    La procédure pour la phase du choix d’un dossier et lister les extinctions des fichiers se passa bien.

    Voici le code de la ListBox qui liste les extensions :
    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
    26
    27
    28
    29
    30
    Private Sub TypeFich_Change()
            Dim indtype As Long
            Dim n
            ReDim Preserve Tbl(0)
            ListBox1.Clear
            nf = Dir(Me.répertoire.Value & "\" & Me.TypeFich)
            'prévoir le cas où l'extension du fichier n'est pas trouvé dans le dossier
            If nf = "" Then
                Me.ListBox1.Clear
                Me.TextBox1 = "0 Fichier"
                Exit Sub
            End If
            n = 0
            Do While nf <> ""
                indtype = 0
                Do
                    If nf Like TypeFich.List(indtype) And TypeFich.Selected(indtype) Then
                        n = n + 1
                        ReDim Preserve Tbl(n)
                        Tbl(n) = nf
                    Else
                        ListBox1.List = Range("Tableau1").Value
                    End If
                    indtype = indtype + 1
                Loop Until indtype > TypeFich.ListCount - 1
                nf = Dir
            Loop
            If n > 0 Then Me.ListBox1.List = Tbl
            Me.TextBox1 = Me.ListBox1.ListCount & IIf(Me.ListBox1.ListCount > 1, " Fichiers", " Fichier")
    End Sub
    Mais dans la deuxième ListBox de 3 colonnes (Nom fichier, Date, Taille) qui liste les fichiers en fonction de l’extension choisie, ne s’affiche que la première colonne.

    Que faut-il modifier pour afficher la 2ème et la 3ème colonnes.

    Merci d’avance pour votre aide.
    @+

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 993
    Par défaut
    Salut, as-tu pensé à mettre la propriété ColumnCount de la listbox à 3 ? Par défaut c'est 1.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    841
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 841
    Par défaut
    Oui la propriété ColumnCount de la listbox est à 3.

  4. #4
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 516
    Par défaut
    Bonjour,
    Tu peux utiliser le Sheel pour arriver à ce résultat, j'ai renommé ListBox1 en Files :
    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
    Private Sub TypeFich_Change()
        If Répertoire.Value > vbNullString Then
            Files.Clear
            Dim TempString As String
            TempString = Replace("cmd /c Dir ""*****"" /b /a-d", "*****", CStr(Me.Répertoire.Value) & "*." & TypeFich.Value, 1, -1, vbTextCompare)
            Debug.Print TempString
            Files.List = Filter(Split(CreateObject("wscript.shell").exec(TempString).stdout.readall, vbCrLf), ".")
        Else
            MsgBox "Sélectionner d'abord un répertoire !"
            TypeFich.ListIndex = -1
            Répertoire.SetFocus
        End If
     
     
    End Sub
    Un petit exemple de classeur : Pièce jointe 660050

    Bonne programmation...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    841
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 841
    Par défaut
    Bonjour Valtrase et merci de vous intéressez à cette discussion.

    Je me suis absenté d’où ma réponse tardive.

    C’est pas mal mais ça ne répond pas tout à fait à ma question :

    1 . si le « xls » est le choix de l’extension le ComboBox affiche les fichiers qui ont une extention « xls » et « xlsm »

    2 . il n’affiche pas les caractères accentués

    3. ni la date de création et la taille du fichier
    Nom : Image1.jpg
Affichages : 209
Taille : 22,2 Ko
    Je cherche une éventuelle solution en attendant votre réponse.

    @+

  6. #6
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 222
    Par défaut
    Hello,

    en reprenant l'exemple de Valtrase je propose ceci
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [XL-2010] Arborescence d'un répertoire dans un TreeView et liste des fichiers dans un ListBox
    Par modus57 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/11/2015, 18h17
  2. Réponses: 1
    Dernier message: 03/05/2014, 06h16
  3. Réponses: 12
    Dernier message: 11/05/2012, 11h17
  4. [XL-2003] Liste des fichiers dans un répertoire
    Par toukii dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/05/2009, 20h09
  5. Réponses: 10
    Dernier message: 23/04/2007, 22h59

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