Option Explicit
Const coche = 253, decoche = 168
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ref, derlig&, t, i&
If Target.Count = 1 And Target.Column = 1 And Target.Offset(, 1) <> "" Then
Target = IIf(Asc(Target) = coche, Chr(decoche), Chr(coche))
Target.Offset(, 1).Select
ref = Target.Offset(, 1).Value
With Sheets("Feuil2")
derlig = .Cells(.Rows.Count, "a").End(xlUp).Row + 1
t = .Range("a1").Resize(derlig)
Select Case Asc(Target.Value)
Case coche
derlig = .Cells(.Rows.Count, "a").End(xlUp).Row
If derlig = 1 And .Cells(1, "a") = "" Then derlig = 1 Else derlig = derlig + 1
Target.Offset(, 1).Copy .Cells(derlig, "a")
Case decoche
For i = UBound(t) - 1 To 1 Step -1
If t(i, 1) = ref Then .Cells(i, "a").Delete xlShiftUp
Next i
End Select
End With
End If
End Sub