Re :
Donc mon idée de déroulé d'opération colle à ce que tu veux faire :
Voilà le schéma d'utilisation, quand tu veux sélectionner une colonne pour ensuite filtrer pour ne garder que les colonnes sélectionnées :
I. Sélection de colonne
1. Tu double click sur le titre de la colonne que tu veux sélectionner
> Celle-ci se colorise en jaune
II. Filtre pour ne garder que la sélection
2. Une fois que tu as fais ta sélection et veux filtrer pour ne plus qu'afficher la sélection, tu fais click droit, n'importe où sur la ligne 1
> Les colonnes non en jaune sont cachées et ne reste que les colonnes sélectionnées
Code de gestion d'événement feuil1 et ton classeur modifié ci-joint
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'empêcher d 'entrer dans la cellule par double click
Cancel = True
'si click cellule ligne 1
If Not Intersect(Target, Rows("1")) Is Nothing Then
'Si colonne non selectionné alors selection, sinon déselection
If Not Columns(Target.Column).Interior.ColorIndex = 36 Then
'couleur de selection colonne jaune clair
Columns(Target.Column).Interior.ColorIndex = 36
'couleur déselection
Else
Columns(Target.Column).Interior.ColorIndex = 0
End If
End If
End Sub
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
'si click droit cellule ligne 1
If Not Intersect(Target, Rows("1")) Is Nothing Then
'désactivation du raffraichissement écran, pour que code aille plus vite et ne freeze pas pendant 2 secondes
Application.ScreenUpdating = False
'de la colonne A à la colonne AN
For i = 1 To 40
'Si colonne pas en jaune clair, pas selectionner alors à cacher
If Not Columns(i).Interior.ColorIndex = 36 Then
'colonne cachée
Columns(i).Hidden = True
End If
Next i
'réactivation du raffraichissement écran pour voir le résultat
Application.ScreenUpdating = True
End If
End Sub
Voilà,