Sub test2()
Dim x As String, y As Range, z As Range
x = InputBox("nom de la liste")
Set y = Application.InputBox("selectionner la plage de la liste", , , , , , , 8)
Set z = Application.InputBox("selectionner la cellule qui doit" & vbLf _
& "contenir la liste", , , , , , , 8)
ActiveWorkbook.Names.Add Name:=x, RefersTo:=y
z.Validation.Delete
z.Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=" & x
End Sub