Bonsoir…
Toujours fidèle aux Tableaux (ListObjects*), dans un onglet, un tableau nommé Tb et un bouton d’option nommé OP pour ouvrir le formulaire nommé Colonne qui ne contient qu‘une liste déroulante (Combobox) nommée C :
Pour lancer la macro, (un simple exemple de lancement)
Private Sub Op_Click()
If Op Then Colonne.Show: Op = Not Op
End Sub
Pour ouvrir le formulaire, dans sa fenêtre des codes
Private Sub UserForm_Initialize()
Dim n As Integer
For n = 1 To [Tb].Columns.Count: C.AddItem [Tb].Item(0, n): Next
End Sub
Private Sub C_Click()
[Tb].Columns(C.ListIndex + 1).Select
[Op].Left = Selection.Columns.Left
End Sub
Nota : j’ai choisi un ActiveX qui se déplace avec le choix de colonne.
*
Bien entendu, le tableau peut se déplacer dans une autre feuille et même voir ses titres changer éventuellement sans toucher aux codes !