par , 15/09/2018 à 12h51 (2537 Affichages)
Par moment nous souhaitons que les utilisateurs ne filtrent que certains champs spécifiques d'une liste, comme illustré ci-dessous.
![Nom : AutoFilter - Hide AutoFilter Arrows A la Une_2.png
Affichages : 2521
Taille : 128,5 Ko](https://www.developpez.net/forums/attachment.php?attachmentid=412122&d=1537008325)
Pour l'exemple, j'utilise un tableau structuré (ListObject) présent dans la feuille dont le CodeName est shtData
Procédure qui masque les flèches du filtre automatique des colonnes 1, 2, 3, 6 et 7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Sub HideArrowsSomeColumns()
' Masquer les flèches de certaines colonnes d'un filtre simple
' http://philippe.tulliez.be
Dim Cell As Range, Column As Integer, lst As ListObject
Application.ScreenUpdating = False
With lst
If Not .ShowAutoFilter Then .HeaderRowRange.AutoFilter
For Each Cell In .HeaderRowRange
Column = Column + 1
Select Case Column
Case 1 To 3, 6, 7
Cell.AutoFilter Field:=Column, Visibledropdown:=False
Case Else
Cell.AutoFilter Field:=Column, Visibledropdown:=True
End Select
Next
End With
Application.ScreenUpdating = True
End Sub |
A lire pour savoir ce qu'est le CodeName d'une feuille excel