Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim adr As String
' Choix_Personnel
With cbxChoix
.Visible = Not Intersect(Target, Range("$C$4:$E$16")) Is Nothing And Target.CountLarge = 1
If .Visible Then
adr = "SYNTHESE!" & Target.Address
.ListFillRange = "'BDD'!" & Sheets("BDD").Range("T_BDD[[Choix]:[Personnel]]").Address
.Left = Target.Left
.Top = Target.Top
.Height = Target.Height
.ListRows = 15
On Error Resume Next
'Si la valeur de la cellule n'est pas dans la liste alors erreur
.LinkedCell = adr
On Error GoTo 0
End If
End With
' Choix_Vehicule
With cbxChoix
.Visible = Not Intersect(Target, Range("$F$4:$G$16")) Is Nothing And Target.CountLarge = 1
If .Visible Then
adr = "SYNTHESE!" & Target.Address
.ListFillRange = "'BDD2'!" & Sheets("BDD2").Range("T_BDD2[[Choix]:[Vehicule]]").Address
.Left = Target.Left
.Top = Target.Top
.Height = Target.Height
.ListRows = 15
On Error Resume Next
'Si la valeur de la cellule n'est pas dans la liste alors erreur
.LinkedCell = adr
On Error GoTo 0
End If
End With
' Choix_Nuit
With cbxChoix
.Visible = Not Intersect(Target, Range("$H$4:$I$16")) Is Nothing And Target.CountLarge = 1
If .Visible Then
adr = "SYNTHESE!" & Target.Address
.ListFillRange = "'BDD3'!" & Sheets("BDD3").Range("T_BDD3[[Choix]:[Lieu]]").Address
.Left = Target.Left
.Top = Target.Top
.Height = Target.Height
.ListRows = 15
On Error Resume Next
'Si la valeur de la cellule n'est pas dans la liste alors erreur
.LinkedCell = adr
On Error GoTo 0
End If
End With
End Sub