Bonjour,
Mercatog m'a devancé.
Voici une autre solution avec un tableau commençant en A1 contenant les données générales et devant rester visible, et à partir des colonnes B et suivantes le nom des libellés
Matières (Par exemple Excel, Word etc ...).
Les cellules
A1:XX1 sont nommées
lstMat
En
A25 une cellule
Validation de données -
Liste faisant références à
lstMat
Si l'on sélectionne dans la liste le titre se trouvant en
A1, toutes les colonnes s'affichent si l'on sélectionne un autre éléments de la liste la
colonne A et la
colonne correspondant au choix s'affiche
Code à placer dans le module de la feuille contenant le tableau
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Private Sub Worksheet_Change(ByVal Target As Range)
Const addr As String = "$A$25"
If Target.Address = addr Then
Dim position As Byte
Columns.EntireColumn.Hidden = True
Columns("A").EntireColumn.Hidden = False
position = Application.WorksheetFunction.Match(Range(addr), Range("lstMat"), 0)
Select Case position
Case Is > 1
Columns(position).EntireColumn.Hidden = False
Case Else
Columns.EntireColumn.Hidden = False
End Select
Range("A1").Show
End If
End Sub |
Partager