Bon, bon ...pas de nouvelles, mon message a dû passer à la trappe avec la remontée des nouveaux messages.
Pendant ce temps là,
Finalement, j'y arrive petit à petit, j'ai réussi tout seul comme un grand à faire une petite procédure, mais cela ne me convient pas encore tout à fait... Je vous livre le fruit de ma réflexion :
Dans ThisWorkbook :
__________________________________________________
Private Sub Workbook_Open()
On Error Resume Next
Annule_Clic_Droit_Filtre
clic_droit_filtre
End Sub
__________________________________________________
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Annule_Clic_Droit_Filtre
End Sub
Dans Modules, 4 procédures :
__________________________________________________
Sub Annule_Clic_Droit_Filtre()
Application.CommandBars('Cell').Reset
End Sub
__________________________________________________
Sub clic_droit_filtre()
With Application.CommandBars('Cell').Controls.Add
.FaceId = 2950
.Caption = 'Barre de Filtre'
.OnAction = 'Filtre'
End With
With Application.CommandBars('Cell').Controls.Add
.Caption = 'Filtre'
.OnAction = 'Filtre_Objet'
End With
End Sub
__________________________________________________
Sub Filtre()
On Error Resume Next
Selection.AutoFilter
End Sub
__________________________________________________
et surtout la procédure qui m'intéressait :
Sub Filtre_Objet()
On Error Resume Next
Selection.AutoFilter field:=ActiveCell.Column, Criteria1:=ActiveCell
End Sub
Mais j'en suis moyennement satisfait, car le filtre ne s'opère pas
correctement si la base de données ne commence pas dans la colonne A ...
Par ailleurs, existe-t-il un moyen de séparer les lignes de commande 'Barre de Filtre' et 'Filtre' des autres 'Couper, copier, coller ... lien hypertexte' ? ou bien carrément remplacer les deux dernières existantes (liste de choix et lien hypertexte) par les deux que je souhaite voir apparaître ?
Merci d'avance à ceux qui se pencheront sur le problème et trouveront une
solution.