OVH Cloud OVH Cloud

Filtre activé =VRAI

17 réponses
Avatar
Croy
Bonjour =E0 tous,

Supposons positionn=E9 en 2=E8me ligne des fl=E8ches de filtre
automatique. Les cellules A2, B2,...., portent donc chacune une
fl=E8che de fitre.

Y a-t-il une possibilit=E9 de ramener la valeur VRAI (ou tout autre
information) dans la cellule A2 p.ex. si le filtre en A2 est activ=E9 ?

En d'autres mots y a-t-il un moyen d'avoir un retour d'information sur
le fait qu'un filtre sur une colonne particuliaire est actif ou pas ?

Que =E7a serait bien si c'=E9tait possible ! Merci d'avance. - Croy

7 réponses

1 2
Avatar
MichDenis
'-----------------------------
| Je n'arrive par contrepas a faire fonctionner celle de Pierre Fauconnier.

la fonction de Pierre renvoie "le critère" que tu appliques à une colonne particulière
Si dans ta feuil2, tu appliques un filtre : Exemple Colonne A , critère du filtre = a
et que dans la cellule A5 tu écris : =ValeurFiltre(A11) , la fonction retournera
la valeur du critère que tu as choisie : =a

Si dans la colonne, aucun critère n'a été appliqué bien qu'il y ait d'autres critères
pour d'autres cellules, le résultat affiché est : False

Si dans ton tableau, il n'y a aucun filtre en usage, la fonction retourne 0
'-----------------------------

Attention, l'explication de mon message précédent, ne distingue pas la colonne
où tu as appliquée le filtre... seulement le fait qu'il y a un filtre en application
sur la feuille.



"Croy" a écrit dans le message de news:

Rebonjour les amis,

Excusez moi de vous déranger encore une fois.

Voilà, j'ai testé toutes les solutions qui m'ont été proposées.

Celle de FxM marche tip-top et celle de JB avec la correction MichDenis
aussi (sauf qu'il faut rajouter "cell" entre les parantèses au moment
de la déclaration de la fonction).

Je n'arrive par contrepas a faire fonctionner celle de Pierre
Fauconnier. De plus si les formules fonctionnent très bien en
Feuille2, les même formule copié-collées en Feuille1 ne fonctionne
pas. Je dois faire une boulette de débutant mais vraiment je vois pas:

http://cjoint.com/?lkpwK2a6du

Si il y a quelqu'un qui passe sur ce fil et qui pourrait m'expliquer ce
qui cloche... ça serait super cool. - Croy
Avatar
Croy
Ecoutez voilà :

j'opte pour la solution de FxM qui répond tout à fait à mes besoins.

Malgré l'explication de FxM je n'arrive toujours pas à comprendre
pourquoi une même fonction ne peut pas être utilisée sur deux
feuilles différentes ? S'il y a sur chaque feuille un filtre ça
devrait a priori fonctionné sur les deux feuilles ? Une fonction ne
s'applique-t-elle pas au classeur entier ? Boh...

J'ai de loin pas tout capté mais j'ai grâce à vous j'ai beaucoup
appris aujourd'hui merci beaucoup. - Croy
Avatar
FxM
Ecoutez voilà :

j'opte pour la solution de FxM qui répond tout à fait à mes besoins.

Malgré l'explication de FxM je n'arrive toujours pas à comprendre
pourquoi une même fonction ne peut pas être utilisée sur deux
feuilles différentes ? S'il y a sur chaque feuille un filtre ça
devrait a priori fonctionné sur les deux feuilles ? Une fonction ne
s'applique-t-elle pas au classeur entier ? Boh...

J'ai de loin pas tout capté mais j'ai grâce à vous j'ai beaucoup
appris aujourd'hui merci beaucoup. - Croy



Sur le principe général, une fonction peut s'appliquer pour tout un
classeur (voire plus). Tu peux explicitement restreindre son utilisation
volontairement ou par l'utilisation de commandes ne permettant pas tout.

Le point est que les solutions fournies utilisent la feuille active. Si
tu veux pouvoir utiliser fil(..) pour une autre feuille que celle où est
la fonction, teste en remplaçant
With Sheets(Cell.Parent.Name)
par
With Sheets(Cell.Worksheet.CodeName)

@+
FxM

Avatar
Croy
Mais bon sang mais c'est bien sure !

Comment n'y avais-je pas pensé plus tôt : With
Sheets(Cell.Worksheet.CodeName) telle est la solutionne !

FxM, voilà que tout marche à la perfectionne... je te déclare grand
gagnant de ce fil !

Merci mon ami et très bon week-end - Croy
Avatar
FxM
Je te rassure : ce n'est pas inné pour moi non plus.
En fait, je stoppe la fonction en début (instruction stop) et parcoure
la liste des propriétés jusqu'à repérer ce qui me plaît. Modif de
l'instruction en conséquence, test et ... ouf, ça marche :o)

Merci du retour et bon we à toi aussi
(tu ne nous laisse pas d'exercice pour ce week-end ? :o) )

@+
FxM



Mais bon sang mais c'est bien sure !

Comment n'y avais-je pas pensé plus tôt : With
Sheets(Cell.Worksheet.CodeName) telle est la solutionne !

FxM, voilà que tout marche à la perfectionne... je te déclare grand
gagnant de ce fil !

Merci mon ami et très bon week-end - Croy



Avatar
JB
Cette fonction s'applique à plusieurs feuilles.

http://cjoint.com/?lkxlz5ZDc4

Function ChampActif(R)
Application.Volatile
ChampActif =
Sheets(R.Parent.Name).AutoFilter.Filters.Item(Application.Match(R,
Sheets(R.Parent.Name).Range("_FilterDataBase").Rows(1), 0)).On
End Function

JB

Ecoutez voilà :

j'opte pour la solution de FxM qui répond tout à fait à mes besoins.

Malgré l'explication de FxM je n'arrive toujours pas à comprendre
pourquoi une même fonction ne peut pas être utilisée sur deux
feuilles différentes ? S'il y a sur chaque feuille un filtre ça
devrait a priori fonctionné sur les deux feuilles ? Une fonction ne
s'applique-t-elle pas au classeur entier ? Boh...

J'ai de loin pas tout capté mais j'ai grâce à vous j'ai beaucoup
appris aujourd'hui merci beaucoup. - Croy


Avatar
Croy
Excellent JB !

C'est vraiment très sympa de vous tous d'ammener les choses jusqu'au
bout.

A une prochaine - Croy
1 2