Comment créer un filtre sur 2 colonnes ?

adameteve

XLDnaute Nouveau
Bonjour à tous, :p

Je travaille dans un conservatoire de musique.
J'ai un tableau Excel des élèves musiciens.

Il y a 3 colonnes : nom-prénom / instrument 1 / instrument 2
Car certains élèves jouent de 2 instruments.

Pour chaque colonne, il y a déjà un menu déroulant qui permet un filtrage automatique.

Le problème, c'est que ce filtrage ne tient compte que de la colonne à laquelle il appartient.

Maintenant j'ai besoin de pouvoir filtrer les données sur les 2 colonnes "instrument 1" et "instrument 2" pour faire ressortir tous les élèves jouant du violon (par exemple), que ce soit en "instrument 1" ou en "instrument 2".

- Faut-il que je crée une colonne supplémentaire en appliquant un "filtre élaboré" qui y trierait les données des 2 colonnes "instrument 1 et 2" ?
- Ou dois-je appliquer une macro (bouton) qui m'afficherait le résultat dans une autre page ?


Merci de votre aide ;)
Adam
 

Monique

Nous a quitté
Repose en paix
Re : Comment créer un filtre sur 2 colonnes ?

Re,

Tu n'es pas obligé d'ajouter une feuille mais je trouve plus pratique d'avoir les listes dans une feuille à part.

Dans le fichier joint, la méthode du fichier de 18h19 hier
mais encore une formule matricielle pour faire la liste sans doublons des instruments
 

Pièces jointes

  • FiltrerSurDeuxColonnesAdameteveV1.zip
    5.4 KB · Affichages: 177

adameteve

XLDnaute Nouveau
Re : Comment créer un filtre sur 2 colonnes ?

Merci encore pour ta dernière proposition, mais je vais rester sur la première car elle correspond à mon attente.

J'ai essayé de l'appliquer mais je t'avoue que j'y perds mon latin :(

D'après ce que je comprends, les formules sont toutes liées au colonnes d'instruments mais également à celle des élèves. Donc pas possible de se passer de la liste des élèves pour ne garder que celle des instruments. Car le but est quand même de pouvoir saisir le nom des élèves directement dans le tableau principal, puis de sélectionner son instrument dans les colonnes 1 et 2 , via menus déroulant, sans taper le nom de l'instrument. Ce qui n'est apparemment pas possible avec ta solution, qui oblige à saisir chaque instrument dans la 1ère feuille de saisie.

Suis-je clair ? :p

Je n'ai donc pas réussi à faire afficher dans mon tableau Excel, le menu déroulant des instruments bien que j'ai suivi scrupuleusement tes indications. Idem pour la validation de la formule matricielle.

Le problème, c'est que mon tableau final est différent de celui que tu m'as envoyé. Pour que tes formules s'appliquent à mon tableau, peut-être est-il nécessaire que je les modifie ?

Je t'envoie ci-joint mon tableau Excel pour que tu vois son agencement.

Merci encore ! ;)
Adam
 

Pièces jointes

  • fichier élèves_musiciens_essai.xls
    45 KB · Affichages: 121
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Comment créer un filtre sur 2 colonnes ?

Re

Mes hommages Monique

@ Adam

Une version a base de Validations aussi bien en F1 pour le tri qu'en colonnes D et E pour l'enregistrement des instruments propres a chaque eleve
La mise a jour des validations se fait automatiquement lors des modifications de la liste des instruments ainsi que de la liste des eleves

Ps:a ta disposition si tu veux une macro pour rapatrier ta liste d'eleve a partir des autres feuilles
 

Pièces jointes

  • fichier élèves_musiciens_essai.zip
    19.9 KB · Affichages: 117
  • fichier élèves_musiciens_essai.zip
    19.9 KB · Affichages: 91
  • fichier élèves_musiciens_essai.zip
    19.9 KB · Affichages: 93

adameteve

XLDnaute Nouveau
Re : Comment créer un filtre sur 2 colonnes ?

Merci à toi PierreJean pour ton travail ;) C'est super !

L'ennui c'est que ça ne résout pas mon problème :(

Je ne connais pas la procédure à suivre pour appliquer ta solution dans mon tableau. Ca me paraît très complexe et je suis novice dans Excel, du moins concernant son utilisation avancée.

Mais je suis preneur pour toute proposition d'explication étape par étape :D

Un grand MERCI à tous pour votre dévouement ! ;)
Adam
 

pierrejean

XLDnaute Barbatruc
Re : Comment créer un filtre sur 2 colonnes ?

Re

J'ai commenté la macro (accessible par Outils > Macros > Visual Basic Editor)
TU peux essayer de l'adapter a ton probleme en reperant les references utilisées et en les modifiant
 

Pièces jointes

  • fichier élèves_musiciens_essai.zip
    21.4 KB · Affichages: 172
  • fichier élèves_musiciens_essai.zip
    21.4 KB · Affichages: 101
  • fichier élèves_musiciens_essai.zip
    21.4 KB · Affichages: 134

Monique

Nous a quitté
Repose en paix
Re : Comment créer un filtre sur 2 colonnes ?

Re,

La liste des instruments est en feuille "Liste", par formule
(même formule que le fichier précédent)

On en fait une liste de validation au dessus de la feuille des élèves
Et filtre identique
 

Pièces jointes

  • FiltrerSurDeuxColonnesAdameteveV2.zip
    12.9 KB · Affichages: 60

adameteve

XLDnaute Nouveau
Re : Comment créer un filtre sur 2 colonnes ?

Re

J'ai commenté la macro (accessible par Outils > Macros > Visual Basic Editor)
TU peux essayer de l'adapter a ton probleme en reperant les references utilisées et en les modifiant

Merci PierreJean, c'est plus clair avec les explications ;).
Je vais l'étudier de près car ta solution me semble la + pratique.

La liste des instruments est en feuille "Liste", par formule
(même formule que le fichier précédent)

On en fait une liste de validation au dessus de la feuille des élèves
Et filtre identique

Merci également à toi Monique, c'est plus compréhensible pour moi. :D
Cette solution est très séduisante, reste plus qu'à la mettre en place.

Je l'ai testée en ajoutant un instrument dans la colonne "Instr 1" et il s'ajoute automatiquement bien dans la liste déroulantes d'instruments. C'est cool !

En revanche, ce n'est pas le cas lorsque j'ajoute un instrument dans la colonne "Instr. 2".
Tu saurais d'où vient ce bug ?

Merci beaucoup ! ;)
Adam
 

pierrejean

XLDnaute Barbatruc
Re : Comment créer un filtre sur 2 colonnes ?

Re

Toujours mes hommages Monique

@ Adam

Mise en place dans la feuille élèves ...
 

Pièces jointes

  • fichier élèves_musiciens_essai_a.zip
    24.3 KB · Affichages: 34
  • fichier élèves_musiciens_essai_a.zip
    24.3 KB · Affichages: 34
  • fichier élèves_musiciens_essai_a.zip
    24.3 KB · Affichages: 34

Monique

Nous a quitté
Repose en paix
Re : Comment créer un filtre sur 2 colonnes ?

Salut Pierre-Jean,

Adam,
Il y avait 2 erreurs dans la formule

Dans la 2ème partie de la formule, c'est
SI(NB.SI(A$2:A3;Inst1)=0
et non
SI(NB.SI(A$2:A3;Inst2)=0

Dans la 3ème partie, c'est
INDEX(Col2;
et non
INDEX(Col1;
 

Pièces jointes

  • FiltrerSurDeuxColonnesAdameteveV3.zip
    13 KB · Affichages: 67

adameteve

XLDnaute Nouveau
Re : Comment créer un filtre sur 2 colonnes ?

Parfait, c'est encore mieux ! ;)

Donc je résume : pour inclure le menu déroulant ainsi que le code et les formules dans mon document de travail final, je dois :

1 - Insérer le menu déroulant dans la cellule Q2 :
> Insertion/Nom/Définir
code : ='fichier élève 09-10'!$Q$2

...ou faut-il d'abord créer une liste (Données/Liste/Créer une liste) ?

2 - Copier/Coller ton code VB
> Outils/Macro/Visual Basic Editor

3 - Puis créer ma liste d'instruments dans une feuille "Listes" dans laquelle j'ajouterai de nouveaux instruments.

Est-ce que j'ai bon ? :)

Merci beaucoup,
Adam
 
Dernière édition:

adameteve

XLDnaute Nouveau
Re : Comment créer un filtre sur 2 colonnes ?

Plus je lis le code et moins je comprends comment ça marche entre les macros, les modules et les feuilles... :(

Je ne comprends pas comment faire le lien entre le menu déroulant en Q1 (feuille 3 : "fichier élève 09-10") et la liste d'instruments dans la feuille 1.

- Est-ce le code VB (Module1 ou Classe1 ?) qui fait le lien ?
- Ou est-ce la fonction "Insertion/Nom/Définir" ?
- De plus, comment valide-t-on le code VB après un copier-coller ?


Merci de votre aide ;)
Adam
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Comment créer un filtre sur 2 colonnes ?

Re

Peux-tu nous preciser a qui tu t'adresses ?
Pour ma part , je te remets un fichier avec les macros commentées
En Module1:
Macro1 > Utilitaire pour demasquer toutes les lignes de la feulle active (n'est utile qu'en cas de probleme)
actu > Egalement Utilitaire: Utile pour creer la 1ere mouture de la liste de la feuille Listes (n'est en principe plus utilisée par la suite)
Dans le module des feuilles
Listes : Mise ajour des validations DE O1 et colonnes O et P de la feuille fichier eleve
Fichier eleve: creation des validations en cas d'ajout d'un eleve
Tri sur les colonnes O et P par masquage de ligne en fonction de O1

Les macros n'ont pas a etre validées. Elles sont operationnelles sitot ecrites (ou collées)
 

Pièces jointes

  • fichier élèves_musiciens_essai_a.zip
    25.2 KB · Affichages: 49
  • fichier élèves_musiciens_essai_a.zip
    25.2 KB · Affichages: 36
  • fichier élèves_musiciens_essai_a.zip
    25.2 KB · Affichages: 38

adameteve

XLDnaute Nouveau
Re : Comment créer un filtre sur 2 colonnes ?

Merci pour ton aide.. je suis vraiment un cancre. :(

Je m'adressais bien à toi PierreJean :)

- Dois-je changer le code si je place mon menu déroulant des instruments dans la cellule Q1 (feuille 3) et non en O1 ?

Merci, ;)
Adam
 

pierrejean

XLDnaute Barbatruc
Re : Comment créer un filtre sur 2 colonnes ?

re

rapidement:
Partout ou tu trouves O1 dans le code remplace le par Q1 puis ajoute et enleve un instrument en feuille Listes et normalement cela devrait tourner
Supprime egalement la validation en O1
Si pas OK n'hesite pas a revenir
 

adameteve

XLDnaute Nouveau
Re : Comment créer un filtre sur 2 colonnes ?

Merci pour ta patience ;)

Supprime egalement la validation en O1
??? Je pense que tu parles du code en "Feul1 (code)"
Code:
With Sheets("fichier élève 09-10").Range("O1").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=liste
    End With
J'a remplacé par Q1... c'est pas bon ?
Je supprime donc tout ce passage ?

Mais ça ne fonctionne toujours pas :(
En fait je pense que j'ai un problème concernant la liste déroulante dans la feuille 3. Je n'y vois toujours pas mes instruments.

J'ai pourtant fait "Insertion/Nom/Définir", mais que dois-je faire ensuite ? Taper le nom de la cellule "TOUS" puis cliquer sur Ajouter ? C'est la procédure que j'ai suivie mais ça ne donne rien.

Je vois qu'il y a également la fonction "Insertion/Nom/Appliquer"... faut-il l'utiliser ?

Merci encore, ;)
Adam
 
Dernière édition:

Discussions similaires

Réponses
40
Affichages
1 K
Réponses
12
Affichages
400

Statistiques des forums

Discussions
312 496
Messages
2 088 980
Membres
103 997
dernier inscrit
SET2A