Jim veut un moyen de savoir rapidement quels critères de filtrage ont été appliqués dans un filtre automatique. Il a du mal à dire même quelles colonnes ont le filtrage appliqué (le léger changement de couleur de la flèche déroulante du noir au bleu est à peine perceptible), donc une autre méthode pour savoir où un filtre est appliqué serait bien.

Le manque de contraste entre les flèches déroulantes noires et bleues dans une colonne filtrée n’est pas une plainte rare. En fait, ce problème a été abordé dans un autre numéro de ExcelTips. (Vous pouvez rechercher sur le site Web ExcelTips l’expression « couleurs des flèches déroulantes » pour une astuce pratique à cet égard.)

Si vous voulez réellement savoir quels critères sont appliqués à une colonne, alors vous serez intéressé par une petite macro qui placera les critères dans une autre cellule:

Function DispCriteria(Rng As Range) As String     Dim Filter As String

Filter = ""

On Error GoTo Done     With Rng.Parent.AutoFilter         If Intersect(Rng, .Range) Is Nothing Then GoTo Done         With .Filters(Rng.Column - .Range.Column + 1)

If Not .On Then GoTo Done             Filter = .Criteria1             Select Case .Operator                 Case xlAnd                     Filter = Filter & " AND " & .Criteria2                 Case xlOr                     Filter = Filter & " OR " & .Criteria2             End Select         End With     End With Done:

DispCriteria = Filter End Function

Il s’agit en fait d’une fonction définie par l’utilisateur que vous pouvez utiliser dans votre feuille de calcul. Par exemple, si vous souhaitez connaître les critères de filtrage appliqués à la colonne C, vous pouvez utiliser ce qui suit dans une cellule:

=DispCriteria(C:C)

Si vous préférez, vous pouvez simplement référencer la cellule d’en-tête de la colonne filtrée. Par exemple, si l’en-tête (celui auquel le filtre automatique ajoute la flèche déroulante) est la cellule C3, vous pouvez utiliser ce qui suit:

=DispCriteria(C3)

Les critères affichés par la fonction sont ceux réellement utilisés par le filtre automatique. Par exemple, si vous utilisez un critère de filtrage qui dit « Top 10 », Excel le traduit au moment où il est appliqué en quelque chose comme « > = 214.3281932 » (la valeur varie en fonction de vos données). C’est le filtre de formule qui est renvoyé par la fonction DispCriteria, pas le libellé «Top 10».

La fonction est basée sur celle créée par Microsoft MVP Stephen Bullen.

La macro a été publiée à divers endroits et vous pouvez la trouver sur le site Web de John Walkenbach, ici:

http://www.j-walk.com/ss/excel/usertips/tip044.htm

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (2891) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.