Private Sub Worksheet_Change(ByVal Target As Range)
Dim O As Worksheet 'déclare la variable O (onglet)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
If Target.Column = 12 And Target.Row > 2 Then 'condition 1 : si le changement a lieu dans la colonne 12 (=L) et à partir de la ligne 3
Set O = Worksheets("Feuil3") 'définit l'onglet O
'définit la cellule de destination DEST (A1, si A1 est vide, sinon la première cellule vide de la colonne A de l'ongelt O)
Set DEST = IIf(O.Range("A1").Value = "", O.Range("A1"), O.Range("A" & Application.Rows.Count).End(xlUp).Offset(1, 0))
If Target.Value = 1 Then 'condition 2 : si la valeur éditée est égale à 1
Cells(Target.Row, 1).Resize(1, 2).Copy DEST 'copie dans DEST les deux premières colonnes de la ligne éditée
Rows(Target.Row).Delete Shift:=xlShiftUp 'supprime la ligne éditée
End If 'fin de la condition 2
End If 'fin de la condition 1
End Sub