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 :

Tri dans une listbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Par défaut Tri dans une listbox
    Bonjour à tous

    Avec le code ci-après j'importe dans une listbox les fichiers trouvés dans un répertoire et qui répondent à certains critères. Comment puis-je obtenir un tri alphabétique des fichiers apparaissant ainsi dans la listbox ?

    Merci de votre aide

    JLDpilot

    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 UserForm_Initialize()
     
    Application.ScreenUpdating = False
        'intègre dans les listes déroulantes tous les fichiers Excel situés dans le répertoire "Mes Documents"
    monChemin = Application.DefaultFilePath
     
        Frame1.Caption = monChemin
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set f = fs.GetFolder(monChemin)
     
        Set fc = f.Files
        For Each f1 In fc
            If Left(f1.Name, 7) = "EAS 04-" _
              And f1.Type = "Feuille de calcul Microsoft Excel" And Len(f1.Name) > 13 Then
     
            CboFiles.AddItem f1.Name
     
            End If
        Next
     
        CboFiles.ListIndex = 0
        CboFiles.SetFocus
        Application.SendKeys ("{F4}")
     
    Set fs = Nothing
    Set f = Nothing
    Set fc = Nothing
    Application.ScreenUpdating = True
    End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Je crois que la solution la plus simple est d'affecter vos noms de fichiers dans une plage de cellules, de trier cette plage et d'affecter ensuite à votre ComboBox.

  3. #3
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Par défaut
    Merci. j'avais également pensé à cette manip. Mais il n'y aurait donc pas de commande "en direct" ?

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    pourquoi ne pas utiliser plus simplement une ListView, qui, elle :
    - a une propriété Sorted
    - te permet d'afficher les dates de tes fichiers
    - te permet d'afficher leur taille
    - te permet même de trier par date (avec une colonne cachée supplémentaire)
    etc...
    Ce serait quand-même beaucoup plus propre !

    Je crois même qu'il m'est arrivé de donner un exemple sur ce forum (pas sûr) et sans utiliser FSO, en plus !

  5. #5
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour


    Tu peux stocker les fichiers dans un tableau, y appliquer un tri et alimenter la listbox ensuite ( propriété List() ).

    Un exemple qui tri par date de création:
    Comment lister les fichiers d'un répertoire par ordre décroissant de date de création ?



    Par listView comme proposé par ucfoutu:

    http://silkyroad.developpez.com/VBA/ListView/#LII-I
    "exemple liste les fichiers d'un répertoire ainsi que certaines de leurs propriétés."

    ftp://ftp-developpez.com/silkyroad/f...tViewExcel.zip



    bonne journée
    michel

  6. #6
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 7
    Par défaut
    Merci ucfoutu mais j'avoue que je suis largué !
    comment une listview ? sans FSO ????

    Ici j'utilise une combobox pour permettre à l'utilisateur d'y rechercher un fichier particulier. La liste pouvant être longue j'aurai souhaiter que ces fichiers soient classés par ordre alpha !

    Désolé mais je ne possède pas ton niveau pour comprendre ces abréviations.

    Merci pour l'éclairage

    Jean-Luc

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

Discussions similaires

  1. [XL-2007] Faire en sorte d'insérer des données triées dans une ListBox.
    Par EtherniTy dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 22/09/2010, 13h35
  2. Tri dans une DBGrid sur un champ date au format jj/mm
    Par Jeankiki dans le forum Bases de données
    Réponses: 10
    Dernier message: 31/10/2004, 12h32
  3. [debutant] supprimer elements dans une listbox
    Par F.F. dans le forum C++Builder
    Réponses: 8
    Dernier message: 02/07/2004, 11h38
  4. [WIN32]tabulation dans une listbox
    Par stoluup dans le forum MFC
    Réponses: 2
    Dernier message: 09/06/2004, 10h11
  5. Icône a coté du texte dans une ListBox
    Par joce3000 dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/12/2003, 02h25

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