Alternatives aux filtres

Si vous utilisez des tables, vous con­nais­sez déjà cer­taine­ment les fil­tres “clas­siques”.

Mais saviez vous que : 

Clic droit

Vous pou­vez fil­tr­er avec un clic droit sur une cel­lule de la table, puis choisir Fil­tr­er et choisir Fil­tr­er par la valeur de la cel­lule sélectionnée :

Bouton de filtre automatique

2/ Vous pou­vez faire la même chose, mais en un clic, après avoir ajouté le bou­ton de fil­tre automa­tique dans la barre d’ac­cès rapide : 

Puis, vous cliquez sur la cel­lule et vous fil­trez automatiquement.

Note : ce bou­ton est dif­férent du bou­ton “Ajouter ou sup­primer des fil­tres”, qui a le même icône.

Aus­si, ce bou­ton ne fonc­tionne pas si la plage a été for­mat­té comme tableau.

Les segments

3/ N’ou­bliez pas le pou­voir des seg­ments asso­ciés à une table.

a/ For­mat­tez comme tableau : 

b/ Ajoutez un segment

Et voilà !

Une solution enVBA pour un tableau

Evidem­ment, comme la 2e solu­tion ne fonc­tionne pas pour un tableau et que la pre­mière solu­tion requiert 3 clics, le paresseux en moi a décidé d’a­jouter un bou­ton pour quand même faire ca en un clic.

Le code est assez court, mais pas vrai­ment triv­ial. Je l’ex­pli­querai en détail plus tard si vous êtes intéressés (n’hésitez pas à laiss­er un commentaire).

Cliquez ici pour télécharg­er le fichier.

Et le code pour ces deux boutons : 

 
Option Explicit
Sub subFiltreTableauActiveCell()
If ActiveCell.ListObject Is Nothing Then Exit Sub
ActiveSheet.ListObjects(ActiveCell.ListObject.Name).Range.AutoFilter _
Field:=ActiveCell.Column - ActiveCell.ListObject.DataBodyRange.Column + 1, _
Criteria1:=ActiveCell.Value
End Sub
Sub subAfficheToutesLesDonnees()
If ActiveCell.ListObject Is Nothing Then Exit Sub
ActiveSheet.ListObjects(ActiveCell.ListObject.Name).AutoFilter.ShowAllData
End Sub


Amusez-vous bien !

PS : Bien que ces fonc­tion­al­ités soient con­nues depuis excel 2003, voici une par­tie de la source d’in­spi­ra­tion : https://www.mrexcel.com/excel-tips/excel-2019-filter-by-selection/

Pour marque-pages : Permaliens.

4 réponses à Alternatives aux filtres

  1. Dominique HANDELSMAN dit :

    Mer­ci infiniment.
    Je ne con­nais­sais pas cette fonc­tion­nal­ité qui peut faire économiser plusieurs sec­on­des à chaque usage, et garan­tit qu’on ne clique pas sur une mau­vaise case.
    Temps gag­né et sécu­rité du geste sont des objec­tifs ergonomiques majeurs.

    L’e­sprit vif, curieux, pra­tique de Gae­tan Mour­mant nous est précieux.

  2. 78chris dit :

    Bon­jour

    Mer­ci
    Etant passé de 2002 à 2010, j’avais loupé ce fil­tre que j’u­tilise dans Access.

    Du coup je l’ai ajouté, et dans la barre d’ac­cès rapi­de, et dans le clic droit du menu con­textuel des tableaux pour l’avoir en 1 clic ;-).

  3. Claude Schaffran dit :

    Bon­jour
    super macro !
    j’ai rajouté une procé­dure pour utilis­er un seul bouton:
    Sub filtrer_defiltrer()
    If ActiveSheet.FilterMode = True Then
    subAfficheToutesLesDonnees
    Else
    subFiltreTableauActiveCell
    End If
    End Sub

    🙂

  4. Gaetan Mourmant dit :

    Mer­ci, j’avais lais­sé deux bou­tons pour pou­voir fil­tre sur “c”, puis ensuite sur “15”, par exemple.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.