Affichage du critère d'un filtre

  • Initiateur de la discussion Eric Dé
  • Date de début
E

Eric Dé

Guest
Salut les Cracks et les Craquettes !

J'utilise un filtre automatique sur une feuille et je souhaiterais faire apparaître le critère de ce filtre dans une cellule bien précise (qui ne se trouve pas dans la même colonne que la zone filtrée).

Est-ce possible sans passer par une macro ?

Merci d'avance,
Eric
 

JCA06

XLDnaute Occasionnel
Bonsoir Eric,

Regarde du coté des Filtres élaborés de ton menu Données/Filtres.

Cela renverse le sens de ta question, mais ça devrait le faire dans la mesure ou ce n'est pas le critère utilisé dans le filtre automatique qui s'affichera, mais c'est la valeur que tu indiqueras comme critère qui sera utilisé par le filtre.

A plus.
 

Luki

XLDnaute Accro
Bonsoir Eric,

Je n'ai pas pu éviter de créer une fonction personalisée. elle est en pièce jointe. elle s'appelle ' QuelFiltre' et affiche les deux critères dans une cellule sur 2 lignes. pense à activer le renvoi de ligne auto.

Tu peux l'ajouter à ton classeur 'Perso.xls', elle sera disponible pour tous tes classeurs.

Elle se trouve dans le module 1 du fichier joint.

Si un des supers craks passe par ici, ce serait pas mal qu'ils y jettent un coup d'oeil car j'ai du ruser pour trouver le lien entre la cellule et l'index du filtre. Ya ptêt une solution plus élégante???

Si tu as des pb pour ajouter la fonction à ton classeur, fais moi signe.

A +

Le fichier n'est pas passé, je repost [file name=filtre.zip size=8371]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/filtre.zip[/file]

Message édité par: luki, à: 31/03/2005 18:54
 

Pièces jointes

  • filtre.zip
    8.2 KB · Affichages: 239
  • filtre.zip
    8.2 KB · Affichages: 227
  • filtre.zip
    8.2 KB · Affichages: 275

JCA06

XLDnaute Occasionnel
Chapeau Monsieur Luki !

ça donne envie de se mettre aux fonctions personnalisées en vba !

Pour ce qui est de l'élégance, je suis encore plus admiratif car il y a probablement une astuce, mais tu as su t'en passer !

Encore bravo
 

Luki

XLDnaute Accro
Re Eric,

Voici la fonction complétée avec affichage de l'opérateur. Donc sur 3 lignes.

Option Explicit

Function QuelFiltre(Cellule As Range)

Application.Volatile

Dim I As Integer
Dim Wks As Worksheet
Dim Rg As Range
Dim Op As String

Set Wks = Cellule.Worksheet

With Wks
Set Rg = .AutoFilter.Range

I = Cellule.Column - Rg.Column + 1

If .AutoFilterMode Then
With .AutoFilter.Filters(I)
On Error Resume Next
Select Case .Operator
Case 1
Op = 'et'
Case 2
Op = 'ou'
End Select

If .On Then QuelFiltre = .Criteria1 & vbLf & Op & vbLf & .Criteria2


If Err.Number <> 0 Then QuelFiltre = .Criteria1

End With
End If

End With

End Function

Vois si ça te convient.

à demain


Désolé pour la mise en forme du post, mais chez moi ça ne marche toujours pas... Snif!

Message édité par: luki, à: 31/03/2005 19:38
 

Discussions similaires

Statistiques des forums

Discussions
312 331
Messages
2 087 360
Membres
103 529
dernier inscrit
moket07