Afficher le critère d'un filtre dans une cellule
Modérateur : Vilains modOOs
Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
-
- Fraîchement OOthentifié
- Messages : 3
- Inscription : 29 févr. 2012 12:31
Afficher le critère d'un filtre dans une cellule
Bonjour,
Je souhaiterais, dans mon tableau sous Calc sur lequel un Autofiltre est en place, récupérer le critère sur lequel mon filtre est appliqué (Ex : Dans une colonne "Fonctions" : Filtre sur "informaticien";"magasinier" etc...)et l'afficher dans une cellule en ehors de mon tableau (A titre informatif). Est-ce que quelqu'un sait si c'est possible et si oui, de quel manière?
Merci d'avance pour l'aide qu'on pourra m'apporter.
Je souhaiterais, dans mon tableau sous Calc sur lequel un Autofiltre est en place, récupérer le critère sur lequel mon filtre est appliqué (Ex : Dans une colonne "Fonctions" : Filtre sur "informaticien";"magasinier" etc...)et l'afficher dans une cellule en ehors de mon tableau (A titre informatif). Est-ce que quelqu'un sait si c'est possible et si oui, de quel manière?
Merci d'avance pour l'aide qu'on pourra m'apporter.
OpenOffice 3.3 sous Windows 7
-
- ManitOOu
- Messages : 2744
- Inscription : 16 avr. 2010 13:31
Re: Afficher le critère d'un filtre dans une cellule
Bonjour à tous,
Supposons que la colonne A soit filtrée. A1 contient l'entête de colonne, en l'occurrence Fonctions, l'autofiltre est appliqué à partir de la cellule A1. La cellule A2 affiche obligatoirement le critère le critère sélectionné en A1. Il suffit alors de faire référence à la cellule A2 ailleurs dans le document :
Supposons que la colonne A soit filtrée. A1 contient l'entête de colonne, en l'occurrence Fonctions, l'autofiltre est appliqué à partir de la cellule A1. La cellule A2 affiche obligatoirement le critère le critère sélectionné en A1. Il suffit alors de faire référence à la cellule A2 ailleurs dans le document :
Code : Tout sélectionner
=$A$2
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
AOO
LibreOffice
Debian 10 et 11
-
- GourOOu
- Messages : 5753
- Inscription : 02 janv. 2009 23:56
Re: Afficher le critère d'un filtre dans une cellule
Bonjour et bienvenue sur le forum,
C'est l'occasion d'appliquer une petite astuce que je signalais récemment...
La récupération se fait dans le fichier joint en B1 par la formule :Explications :
Jean-Louis
C'est l'occasion d'appliquer une petite astuce que je signalais récemment...
La récupération se fait dans le fichier joint en B1 par la formule :
Code : Tout sélectionner
=SI(NB.SI($B$2:$B$21;1)=NB(B2:B21);"rien";INDEX($A$2:$A$21;EQUIV(1;$B$2:$B$21;0)))
- en B2:B21 se trouvent soit 0 si la ligne est masquée par autofiltre, 1 sinon
- si le nombre de 1 est égal au nombre de lignes, c'est que rien n'est masqué, donc pas de choix, la formule retourne "rien"
- sinon, EQUIV() va chercher le premier 1 et retourne son rang dans la plage B2:B21
- INDEX() récupère cette valeur dans la première colonne pour afficher le choix correspondant.
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
-
- Fraîchement OOthentifié
- Messages : 3
- Inscription : 29 févr. 2012 12:31
Re: Afficher le critère d'un filtre dans une cellule
Tout d'abord, merci beaucoup pour vos réponses.
Jean-Louis, en m'appuyant sur ta formule, j'arrive maintenant à afficher la valeur filtrée dans une cellule. Cependant, lorsque qu'il n'y a aucun filtre, il m'affiche quand même la valeur de la premiere cellule de la colonne "fonction". De plus, peut-on ne rien afficher si le filtre est effectué sur une autre colonne?
Je joins un exemple de mon fichier si ça peut aider.
Dans mon fichier, la formule est en I1.
Encore un grand merci pour votre aide
Jean-Louis, en m'appuyant sur ta formule, j'arrive maintenant à afficher la valeur filtrée dans une cellule. Cependant, lorsque qu'il n'y a aucun filtre, il m'affiche quand même la valeur de la premiere cellule de la colonne "fonction". De plus, peut-on ne rien afficher si le filtre est effectué sur une autre colonne?
Je joins un exemple de mon fichier si ça peut aider.
Dans mon fichier, la formule est en I1.
Encore un grand merci pour votre aide
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 3.3 sous Windows 7
-
- GourOOu
- Messages : 5753
- Inscription : 02 janv. 2009 23:56
Re: Afficher le critère d'un filtre dans une cellule
Le problème c'est que deux évènements retournaient 0 dans la colonne S :
A+
Jean-Louis
- soit la ligne était masquée
- soit la cellule E de la ligne était vide
A+
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
-
- InconditiOOnnel
- Messages : 936
- Inscription : 27 nov. 2010 00:17
- Localisation : gâtine deux-sèvrienne
Re: Afficher le critère d'un filtre dans une cellule
Bonjour binbyz974,
Ou aLors.... jean louis à une solution
Cordialement
Luke
La formule en "i1" est écrite sur la plage "S4:S100" comme tu as des lignes vide, il est normal que la cellule "i11" affiche quelque chose. Il faut ajuster la formule au nombres de lignes éditées.Jean-Louis Cadeillan a écrit :si le nombre de 1 est égal au nombre de lignes, c'est que rien n'est masqué, donc pas de choix, la formule retourne "rien"
Ou aLors.... jean louis à une solution
Ajout : OUPS ! Non eulement je répond trop tard mais en plus j'ai rien compris |
Luke
AOO 4.1.3 et LibO 5.3.7.2 Ubuntu 16.04 LTS et Debian 9
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
-
- GourOOu
- Messages : 5753
- Inscription : 02 janv. 2009 23:56
Re: Afficher le critère d'un filtre dans une cellule
si, si tu as bien compris luke, il fallait juste que la cellule de S n'affiche rien (et pas zéro) quand la cellule de E ne contient rien...
Comme ça, ça permet d'étendre les formules de S au-delà du filtre et ainsi ça fonctionnera même avec plus de lignes dans le filtre...
A+
Jean-Louis
Comme ça, ça permet d'étendre les formules de S au-delà du filtre et ainsi ça fonctionnera même avec plus de lignes dans le filtre...
A+
Jean-Louis
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
-
- Fraîchement OOthentifié
- Messages : 3
- Inscription : 29 févr. 2012 12:31
Re: Afficher le critère d'un filtre dans une cellule
Je vois enfin le bout du tunnel!!! Il est sur que quand on ne bidouille pas régulièrement dans Calc, on ne peux pas devenir une bête! lol Mais au moins ça permet d'apprendre...En tout cas, un grand merci à toi Jean-Louis. Il me reste un dernier point à traiter : le fait de ne rien afficher si le filtre est activé sur une autre colonne que "fonction". Est-ce réalisable?
OpenOffice 3.3 sous Windows 7
-
- GourOOu
- Messages : 5753
- Inscription : 02 janv. 2009 23:56
Re: Afficher le critère d'un filtre dans une cellule
Bonjour,
je vois une "quasi-solution" : afficher la fonction si tous les employés et seulement eux sont affichés par autofiltre, quel que soit le champ utilisé pour configurer l'autofiltre. Par exemple, si je sélectionne roger dans l'autofiltre "nom", alors CCH s'affichera quand même en I1, puisque roger est le seul CCH. Par contre si je sélectionne dumont, I1 n'affichera rien puisqu'il y a deux informaticiens dans la lliste. Pour des raisons de référence circulaire, j'utilise une cellule H2 pour faire le test :Explications :
qui ne fait que repérer une ligne masquée ou non par autofiltre, sans récupérer aucunement l'information "quel critère d'autofiltre"...
Si tu tiens absolument à ne rien afficher quand l'autofiltre sur le critère fonction n'est pas activé, tu peux poser la question dans la rubrique Macros et API, il y a peut-être une solution...
A+
Jean-Louis
je vois une "quasi-solution" : afficher la fonction si tous les employés et seulement eux sont affichés par autofiltre, quel que soit le champ utilisé pour configurer l'autofiltre. Par exemple, si je sélectionne roger dans l'autofiltre "nom", alors CCH s'affichera quand même en I1, puisque roger est le seul CCH. Par contre si je sélectionne dumont, I1 n'affichera rien puisqu'il y a deux informaticiens dans la lliste. Pour des raisons de référence circulaire, j'utilise une cellule H2 pour faire le test :
Code : Tout sélectionner
=SOMMEPROD($E$4:$E$88=I1)=SOMMEPROD($E$4:$E$88=I1;S4:S88)
- si le nombre d'employés qui ont la fonction affichée dans I1 = nombre d'employés qui ont la fonction affichée dans I1 et qui ne sont pas masqués, alors la formule retourne VRAI
- le résultat de cette formule est utilisé par une Mise en Forme Conditionnelle (MFC) pour I1 :==> si H2 est FAUX, alors I2 est invisible
Code : Tout sélectionner
NON($Feuille1.$H$2)
Code : Tout sélectionner
= SOUS.TOTAL(3;A1:A1)
Si tu tiens absolument à ne rien afficher quand l'autofiltre sur le critère fonction n'est pas activé, tu peux poser la question dans la rubrique Macros et API, il y a peut-être une solution...
A+
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1