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 déroulante et filtres


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 10
    Par défaut Liste déroulante et filtres
    Bonjour à tous,

    j'ai un problème que je n'est pas su résoudre depuis hier, je veux créer des listes de choix déroulante dans plusieurs cellules de mon fichier. Je veux aussi que cahque element de la liste soit un filtre. Je m'explique : Par exemple, ma liste déroulante est composé par les eléments suivants :
    - Tous
    - 10 premieres lignes
    - ordre croissant
    - ordre decroissant
    Ainsi quand l'utilsateur choisi par exemple "10 premières lignes", les lignes à partir de la 11ème seront masquées.

    Alors j'ai réussi à créer la liste déroulante mais pour le moment quand je choisi l'un des objet de la liste c'est plutot la valeur de la cellule qui change. Je ne sais pas comment dire à Excel de faire tel ou tel chose quand un utilisateur choisi l'un des objets de la liste.

    Je vous ai mis en pièce jointe à quoi doit ressembler le résultat que je dois avoir, c'était un exemple qu'on m'a fournit.
    Merci beaucoup pour vos futur réponses.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Une proposition si j'ai bien compris
    dans la cellule A1 tu crée une liste de validation (Données>Validation>Autoriser: Liste>Source: Tous;10 premières lignes;Ordre croissant;Ordre décroissant
    Tu crée ces sub
    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
    Sub Tous()
    With Sheets("Données ICMO")
        .Range("A11:A" & Rows.Count).EntireRow.Hidden = False
    End With
    End Sub
    Sub DixLignes()
    With Sheets("Données ICMO")
        .Range("A11:A" & .Cells(Rows.Count, "A").End(xlUp).Row).EntireRow.Hidden = True
    End With
    End Sub
    Sub TriCroissant()
    With Sheets("Données ICMO")
        Tous
        .Range("A1:R" & .Cells(Rows.Count, "A").End(xlUp).Row).Sort key1:=.Range("F1").Value, Order1:=xlAscending, header:=xlYes
    End With
    End Sub
     
    Sub TriDecroissant()
    With Sheets("Données ICMO")
        Tous
        .Range("A1:R" & .Cells(Rows.Count, "A").End(xlUp).Row).Sort key1:=.Range("F1").Value, Order1:=xlDescending, header:=xlYes
    End With
    End Sub
    Le tri croissant ou décroissant est pris ici sur la colonne F.
    Et sur l'évènement Change de ta feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        Select Case Target.Value
            Case "Tous": Tous
            Case "10 premières lignes": DixLignes
            Case "Ordre croissant": TriCroissant
            Case "Ordre décroissant": TriDecroissant
        End Select
    End If
    End Sub

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 10
    Par défaut
    Bonjour mercatog, le forum

    mercatog, merci bcp pr ta réponse, ça m'a sauvé la vie.
    Je vais tout de même poser une autre question, je suis débutante et je bloque sur la moindre des choses
    En fait, si vous regardez bien le fichier en pièce jointe, la cellule qui contient la liste déroulante ne change pas de valeur quand on fait un choix. Vous pouver voir que la cellule contient une chaine de caractère et aussi une liste déroulante.
    Comment faire ça alors???

    Merci d'avance.

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Tu parles de 2 choses distinctes, mais de vue identiques:
    Le code et la démarche proposés met une liste de validation en A1, et selon le choix, l'une des macros est exécutée.
    Alors que dans ton fichier, tu as un filtre automatique (sur les entêtes de lignes): pour Excel 2003 Données>Filtrer>Filtre automatique

  5. #5
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 10
    Par défaut
    Bonjour,
    Ok je vois. Je ne connais pas cette histoire de filtre automatique (je suis débutante). Y a t-il un moyen de faire ces filtres automatiques avec du code VBA????
    Merci

  6. #6
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 10
    Par défaut
    finalement j'ai trouvé
    Pour ceux qui tomberont sur ce forum, ils faut utiliser la fonction AutoFilter
    a+

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

Discussions similaires

  1. [XL-2003] Liste déroulante d’un filtre automatique comme rowsource
    Par JM741 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 10/07/2011, 17h17
  2. [XL-2003] Liste déroulante avec filtre et tri sans doublon
    Par mandrake57 dans le forum Macros et VBA Excel
    Réponses: 29
    Dernier message: 18/03/2011, 09h07
  3. [Vxi3] Liste déroulante avec filtre
    Par nawal59 dans le forum Webi
    Réponses: 8
    Dernier message: 03/12/2010, 17h43
  4. Réponses: 2
    Dernier message: 30/07/2009, 19h25
  5. zone de liste déroulante et filtre
    Par Ludo11 dans le forum IHM
    Réponses: 2
    Dernier message: 23/05/2007, 18h02

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