Où dois-je placer ce code ?
Il va être quand même très difficile d'intercepter cet évènement, je parle en fait intercepter le fait de cacher des lignes.
Excel déclenche certains évènement quand on change de feuille, quand on modifie le contenu d'une cellule, mais pas quand on cache des lignes, pour se faire il faudrait jouer sur l'évènement SelectionChange, donc :
- Sélectionner une cellule sur une des lignes à cacher.
- Cacher les lignes
- Puis sélectionner une autre ligne ou cellule
Là on pourrait intercepter le changement :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
With Sh
If .Name = "Feuil1" Then
.Shapes("Drop Down 1").Visible = (.Rows(10).Hidden = False)
End If
End With
End Sub
Une autre manière de faire consisterait (si ce sont toujours les mêmes lignes que l'on cache) de leur donner un, ou plusieurs noms (plusieurs groupements), puis de gérer tout cela grâce à une macro.
Enfin la dernière solution qui me viens à l'idée c'est d'utiliser une liste de validation dans une cellule, si l'on cache la ligne la liste est aussi cachée.
Voilà de mon coté je ne vois que cela, mais peut-être que d'autres auront des idées là dessus.