Private Sub Worksheet_Change(ByVal Target As Range)
Dim col As Byte 'déclare la variable col (COLonne)
If Target.Address <> "$P$3" Then Exit Sub 'si la cellule modifiée n'est pas P3, sort de la procédure
col = Right(Target.Value, 1) 'définit la variable col
Range(Cells(5, 2 * (col - 1) + col), Cells(9, (2 * (col - 1) + col) + 2)).Copy Range("L5") '' copie et colle dans L5 la plage correspondante
End Sub