Bonjour,
Je souhaite rendre la flèche du filtre invisible pour certaines colonnes pour éviter que les utilisateurs puissent modifier le filtre.
Voici le code que j'ai trouvé et adapté à mes besoins, mais il ne fonctionne pas. Je pense que la fin est mauvaise car j'ai modifier une boucle FOR.
Le code s'exécute dès que l'on clique sur la ligne 6 sur laquelle se situe mes filtres. Je souhaite que tous les filtres soient visibles et utilisables SAUF ceux de la colonne 4 et 22.
' Enlever les filtres sur des colonnes spécifiques
' Les filtres sont dans la plage nommée _FILTRESST_
'
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rg As Range, i As Integer
' Plage nommée contenant les filtres
Set rg = Range("_FILTRESST_")
' La macro s'éxécute chaque fois que l'on clique sur la même ligne
' que notre plage nommée. Ainsi, un utilisateur ne peut pas changer
' les filtres car ils sont enlevés automatiquement.
If Target.Row <> rg.Row Then Exit Sub
rg.AutoFilter 'Ajout des filtres sur toutes les colonnes
Set i = 4 ' Enlever l'affichage du filtre de la colonne 4
rg.AutoFilter Field:=i, VisibleDropDown:=False
Set j = 22 ' Enlever l'affichage du filtre de la colonne 22
rg.AutoFilter Field:=j, VisibleDropDown:=False
End Sub
Merci de votre aide