Masquer les flèches dans Excel AutoFiltre

Lorsque vous activez le filtre dans une liste de feuilles de calcul Excel, ou si vous créez un tableau Excel nommé, chaque cellule de la ligne d’en-tête affiche automatiquement une flèche déroulante. Si vous n’en avez pas besoin, voici comment masquer les flèches dans Excel AutoFilter.

Flèches d’AutoFiltre Excel

Dans la ligne d’en-tête, un bouton de flèche d’AutoFiltre affiche une icône de filtre, si vous avez filtré cette colonne. Si vous pointez sur une flèche avec une icône de filtre, une info-bulle affiche les critères de filtrage.

Dans la capture d’écran ci-dessous, la colonne Client a été filtrée pour afficher 3 clients spécifiques – FoodMart, MegaStore et VegiVille.

autofilterarrows01

Options de flèches de l’AutoFiltre

Pour un AutoFiltre, vous avez trois options pour l’affichage des flèches :

  • Laisser toutes les flèches apparaître
  • Supprimer l’AutoFiltre, ce qui supprime toutes les flèches
  • Utiliser la programmation pour masquer une ou plusieurs des flèches.

Supprimer manuellement l’AutoFiltre

Pour une liste de feuilles de calcul ou un tableau nommé, vous pouvez activer et désactiver manuellement l’AutoFiltre, ce qui permet également d’afficher ou de masquer les boutons fléchés.

  1. Cliquez sur n’importe quelle cellule de la plage filtrée
  2. Sur le ruban Excel, cliquez sur l’onglet Données
  3. Cliquez sur le bouton Filtre.

autofiltreribbon01

Masquer les flèches d’AutoFiltre avec la macro

Avant que les listes et les tableaux nommés ne soient ajoutés à Excel, il ne pouvait y avoir qu’un seul AutoFiltre par feuille de calcul.

Maintenant, en plus de l’AutoFiltre à feuille de calcul unique, vous pouvez mettre plusieurs tableaux nommés sur une feuille. Chacune de ces tables possède sa propre propriété AutoFilter.

Vous trouverez ci-dessous des exemples de code pour masquer les flèches dans un AutoFiltre de liste, et un AutoFiltre de feuille de calcul. Il y a plus d’exemples VBA d’AutoFiltre sur mon site Contextures :

  • VBA d’AutoFiltre de feuille de calcul Excel
  • VBA d’AutoFiltre de liste Excel

Cacher les flèches d’AutoFiltre de liste avec VBA

Si vous voulez laisser une ou plusieurs flèches visibles, mais cacher les autres, vous pouvez utiliser une macro.

Dans cet exemple, seule la deuxième colonne aura une flèche, et toutes les autres flèches seront cachées.

Ce code est conçu pour une table nommée, qui a sa propre propriété AutoFilter. Il peut y avoir plusieurs tables nommées sur une feuille de calcul, et les paramètres AutoFiltre de chaque table peuvent être différents.

Sub HideArrowsList1()'hides all arrows except list 1 column 2Dim Lst As ListObjectDim c As RangeDim i As IntegerApplication.ScreenUpdating = FalseSet Lst = ActiveSheet.ListObjects(1)i = 1For Each c In Lst.HeaderRowRange If i <> 2 Then Lst.Range.AutoFilter Field:=i, _ VisibleDropDown:=False Else Lst.Range.AutoFilter Field:=i, _ VisibleDropDown:=True End If i = i + 1NextApplication.ScreenUpdating = TrueEnd Sub

Masquer les flèches AutoFiltre d’une feuille de calcul avec VBA

Pour masquer les flèches de l’AutoFiltre d’une table de feuille de calcul, le code est légèrement différent.

Il ne peut y avoir qu’un seul AutoFiltre de feuille de calcul sur une feuille de calcul, et dans cet exemple, la liste filtrée commence dans la cellule A1.

La procédure suivante masque les flèches pour toutes les colonnes sauf la colonne B.

Sub HideArrows()'hides all arrows except column 2Dim c As RangeDim i As Integeri = Cells(1, 1).End(xlToRight).ColumnApplication.ScreenUpdating = FalseFor Each c In Range(Cells(1, 1), Cells(1, i)) If c.Column <> 2 Then c.AutoFilter Field:=c.Column, _ Visibledropdown:=False End IfNextApplication.ScreenUpdating = TrueEnd Sub

Utiliser les macros de masquage des flèches

Pour utiliser ces macros, copiez-les dans un module de code ordinaire de votre classeur. Il y a des instructions ici.

Vous n’auriez à exécuter le code qu’une seule fois, après avoir configuré la liste filtrée. Pour exécuter le code,

  • Cliquez sur l’onglet Affichage du ruban Excel
  • À l’extrême droite de l’onglet, cliquez sur la commande Macros (cliquez sur l’image en haut de la commande)
  • Dans la liste des macros, cliquez sur la macro que vous voulez exécuter
  • Cliquez sur le bouton Exécuter.

Laisser un commentaire

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