Liste deroulante filtree en fonction de choix d'une autre liste deroulante

AiDuK

XLDnaute Nouveau
Bonjour a toutes et a tous,

Je me retrouve confronté a un problème.
En effet, j'ai une première liste déroulante qui contient différentes lignes comprenant un code + un nom (ex : A7 - Dépenses diverses).
Lorsque je sélectionne ma ligne, une macro va venir extraire le code (ex : A7), et va venir le placer dans une cellule.
Dans une autre cellule, j'ai une deuxième liste déroulante, dont l'affichage dépend du code extrait. Parce que je peux avoir plusieurs A7 : Cinéma, Sorties, Restaurant, etc ...
Le problème est que pour le moment, je n'arrive pas a mettre en place le filtre sur ma 2eme liste déroulante et que j'ai tout mes éléments qui sont présents (A1, A2, A3, etc ...., W6).

De plus, il ne faut pas que le filtre soit fixe, car sur la même feuille, je vais avoir plusieurs lignes avec des codes différents.

Bref, je suis perdu, et je ne vois pas comment faire.
Donc si quelqu'un a une idée a me proposer, je suis preneur.

Merci d'avance pour le temps que vous prendrez a me lire.

Bonne journée,

Cordialement,


AiDuK
 

AiDuK

XLDnaute Nouveau
Re : Liste deroulante filtree en fonction de choix d'une autre liste deroulante

Bonjour,

Merci pour le lien.
C'est quasiment ce que je cherche, le seul soucis etant que j'ai plus de 70 sous categorie dans ma 2eme liste, du coup, si je le fait a la main, je vais y passer la semaine.
De plus, si je veux le modifier par la suite, je ne bénéficie pas d'une grande souplesse.

N'y a t il pas d'autres moyens ?

Bonne journée,


AiDuK
 

hellnar

XLDnaute Junior
Re : Liste deroulante filtree en fonction de choix d'une autre liste deroulante

Il me semble que ce petit programme peut t'aider à résoudre ton problème.
Une liste de jours, un zone de choix (par validation sur la liste de jours) et un filtre actionné automatiquement par une macro Private_change très simple :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("Choix").Address Then
ActiveSheet.Range("mon_filtre").AutoFilter Field:=1, Criteria1:=Range("choix").Value
End If
End Sub

Il faut surtout veiller à tester la cellule modifiée car sinon la macro s'active dès qu'il y a un changement de valeur sur la feuille.

Les zones étant nommées, on peut les déplacer à l'envie sur la feuille. Par contre si la zone à filtrer se trouve sur une autre feuille, il faut réviser la macro.
 

Pièces jointes

  • Liste by Hellnar.xls
    52 KB · Affichages: 393

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 077
Membres
103 455
dernier inscrit
saramachado