Private Sub Worksheet_SelectionChange(ByVal r As Range)
ListBox1.Visible = False
If Not Intersect(ActiveCell, [AD9:AD16]) Is Nothing Then Afficher "AD10:AD12", 44 'hauteur à adapter au besoin
If Not Intersect(ActiveCell, [AE9:AE16]) Is Nothing Then Afficher "AE10:AE13", 58
If Not Intersect(ActiveCell, [AF9:AF16]) Is Nothing Then Afficher "AF10:AF12", 44
If Not Intersect(ActiveCell, [AG9:AG16]) Is Nothing Then Afficher "AG10:AG12", 44
End Sub
Private Sub ListBox1_Change()
ActiveCell = ListBox1
[A1].Select
End Sub
Sub Afficher(adresse$, h#)
With ListBox1
.ListFillRange = adresse
.IntegralHeight = False
.Height = h
.Top = ActiveCell(2).Top
.Left = ActiveCell.Left + (ActiveCell.Width - .Width) / 2
.Visible = True
End With
End Sub