Sub Macro1()
Dim COL As Integer 'déclare la variable COL (COLonne)
Dim PL As Range 'déclare la variable PL (PLage)
COL = Cells(2, Application.Columns.Count).End(xlToLeft).Column 'définit la colonne COL
Set PL = Range(Cells(2, COL), Cells(Application.Rows.Count, COL).End(xlUp)) 'définit la plage PL
With Range("O2").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=" & PL.Address
.IgnoreBlank = False 'ça ne marche pas je ne sais pas pourquoi ?
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub