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 :

Trier des lignes d'un tableau à partir d'une sélection listbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 63
    Par défaut Trier des lignes d'un tableau à partir d'une sélection listbox
    Bonjour je vous expose mon problème. J'ai un tableau avec des valeurs sur lequel je veux appliquer un tri. Par exemple dans la collone B j'ai les les noms des différents continents (europe, asie,..) et je viens récupérer ces noms pour venir remplir ma listbox. Ceci fonctionne. Ce que je veux faire maintenant c'est en fonction de ce que je selectionne dans ma listbox (je peux selectionner plusieurs valeurs) je viens cacher les lignes qui ne posséde pas la valeur selectionné dans la listbox. Savez vous comment faire?

    merci

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Fais un filtre automatique (Autofilter). Si tu as besoin de plus d'aide, précise où tu as placé ta listbox (sur une feuille ou sur un userform).

  3. #3
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Par défaut
    Bonjour Daniel

    fonction de ce que je selectionne dans ma listbox (je peux selectionner plusieurs valeurs)
    un filtre automatique (sur 2003) ne peut prendre que 2 valeurs dans la personnalisation

    Il me semble que ce serait bien d’abord le fichier pour mieux comprendre
    Afin de faire quelque chose qui fonctionnerait sur toutes les versions.

    Cordialement

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    un filtre automatique (sur 2003) ne peut prendre que 2 valeurs dans la personnalisation
    Avec Excel 2010, tu peux sélectionner autant de valeurs entières que tu le désires, même si le filtre perso façon XL 2003 existe toujours.

    Afin de faire quelque chose qui fonctionnerait sur toutes les versions.
    C'est se priver de toutes les nouvelles fonctionnalités.

  5. #5
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 63
    Par défaut
    Ce n'est pas vraiment ce a quoi j'avais pensé. en fait au départ j'avais une combobox qui était dans un userform je venais choisir la valeur qui m'interessait et excel affichait toute les lignes ayant la valeur entré dans la combobox du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If combobox.value= cells(a,i)
    . Il cachait les autres avec la propriété . La je veux faire la même chose mais avec une listbox c'est a dire que plusieurs valeurs sont sélectionnés et il cache toute les lignes qui n'ont pas cette valeur. est ce que c'est plus clair dans la démarche?

    Merci de vos réponse

  6. #6
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Par défaut
    Bonjour

    C'est se priver de toutes les nouvelles fonctionnalités.
    Ce n'est pas idiot bien sur, mais je reste convaincu que si on règle ce type de problème par Vba on doit essayer a que ce soit au moins pour 2003 aussi, beaucoup on cette version et vont continuer à l'avoir pendant encore quelque temps.

    Si on est dans l’Excel classique (dans la feuille, je veux dire) bien sur qu’il ne faut pas se priver des nouvelles fonctionnalités

    Une Piste

    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
     
    Private Sub commandButton1_Click()
    Dim Table() As String
        Dim CompA As Long
        Dim CompB As Byte
        Dim Mouchard As Boolean
     
        Dim Ind As Byte
        For CompA = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(CompA) = True Then
                Ind = Ind + 1
                ReDim Preserve Table(Ind)
                Table(Ind) = ListBox1.List(CompA)
            End If
        Next CompA
     
        For CompA = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
            Mouchard = False
            For CompB = 1 To UBound(Table)
                If Cells(CompA, 1).Value = Table(CompB) Then Mouchard = True
            Next CompB
            If Mouchard = False Then Rows(CompA).Hidden = True
        Next CompA
    End sub
    Tu dis

    Bon courage

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/05/2015, 22h09
  2. [XL-2013] Trier les lignes d'un tableau à partir d'une liste de ligne
    Par dttpedt dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/08/2014, 15h59
  3. Suppression d'une ligne d'un tableau à partir d'une valeur de cellule
    Par jerem1 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/12/2010, 14h15
  4. Réponses: 31
    Dernier message: 27/11/2010, 19h14
  5. [MySQL] Trier des lignes d'un tableau aléatoirement
    Par bilou95 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 10/03/2008, 21h30

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