Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range, Presque As Boolean, ToutÀFait As Boolean
If Target.Column <> 7 Or Target.Row < 4 Or Target.Count <> 1 Then Exit Sub
If Target.Value > 0.99 Then
Presque = Target.Value < 1: ToutÀFait = Not Presque
If Presque Then If MsgBox("Voulez vous l'archiver ?", _
vbYesNo + vbQuestion, "Archivage ligne " & Target.Row) = vbNo Then Exit Sub
With Target.EntireRow
On Error Resume Next
Set Cel = Feuil2.Columns(1).Find(What:=.Columns(1).Value, LookIn:=xlValue, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
On Error GoTo 0
If Not Cel Is Nothing Then Cel.EntireRow.Delete
.Resize(, 7).Copy Feuil2.Cells(Rows.Count, "A").End(xlUp).Offset(1)
If ToutÀFait Then .Delete
End With: End If
End Sub