Option Explicit
Private Sub Worksheet_Change(ByVal c As Range)
With Sheets("Feuil2")
.Range(.Range("a1"), .Range("a1").End(xlDown)).Name = "Liste1"
.Range(.Range("c1"), .Range("c1").End(xlDown)).Name = "Liste2"
End With
If c.Address = "$D$13" Then
Select Case c
Case "Liste1"
With Range("g11:g23").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Liste1"
End With
Case "Liste2"
With Range("g11:g23").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Liste2"
End With
End Select
End If
End Sub