Si vous utilisez des tables, vous connaissez déjà certainement les filtres "classiques".
Mais saviez vous que :
Clic droit
Vous pouvez filtrer avec un clic droit sur une cellule de la table, puis choisir Filtrer et choisir Filtrer par la valeur de la cellule sélectionnée :
Bouton de filtre automatique
2/ Vous pouvez faire la même chose, mais en un clic, après avoir ajouté le bouton de filtre automatique dans la barre d'accès rapide :
Puis, vous cliquez sur la cellule et vous filtrez automatiquement.
Note : ce bouton est différent du bouton "Ajouter ou supprimer des filtres", qui a le même icône.
Aussi, ce bouton ne fonctionne pas si la plage a été formatté comme tableau.
Les segments
3/ N'oubliez pas le pouvoir des segments associés à une table.
a/ Formattez comme tableau :
b/ Ajoutez un segment
Et voilà !
Une solution enVBA pour un tableau
Evidemment, comme la 2e solution ne fonctionne pas pour un tableau et que la première solution requiert 3 clics, le paresseux en moi a décidé d'ajouter un bouton pour quand même faire ca en un clic.
Le code est assez court, mais pas vraiment trivial. Je l'expliquerai en détail plus tard si vous êtes intéressés (n'hésitez pas à laisser un commentaire).
Cliquez ici pour télécharger 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 fonctionalités soient connues depuis excel 2003, voici une partie de la source d'inspiration : https://www.mrexcel.com/excel-tips/excel-2019-filter-by-selection/
Merci infiniment.
Je ne connaissais pas cette fonctionnalité qui peut faire économiser plusieurs secondes à chaque usage, et garantit qu'on ne clique pas sur une mauvaise case.
Temps gagné et sécurité du geste sont des objectifs ergonomiques majeurs.
L'esprit vif, curieux, pratique de Gaetan Mourmant nous est précieux.
Bonjour
Merci
Etant passé de 2002 à 2010, j'avais loupé ce filtre que j'utilise dans Access.
Du coup je l'ai ajouté, et dans la barre d'accès rapide, et dans le clic droit du menu contextuel des tableaux pour l'avoir en 1 clic ;-).
Bonjour
super macro !
j'ai rajouté une procédure pour utiliser un seul bouton:
Sub filtrer_defiltrer()
If ActiveSheet.FilterMode = True Then
subAfficheToutesLesDonnees
Else
subFiltreTableauActiveCell
End If
End Sub
🙂
Merci, j'avais laissé deux boutons pour pouvoir filtre sur "c", puis ensuite sur "15", par exemple.