Private Sub Worksheet_Activate()
Dim plage As Range, i As Long
Application.ScreenUpdating = False
With Sheets("SAISIE")
Set plage = .Range("A1", .Range("A" & Rows.Count).End(xlUp))
End With
On Error Resume Next
[Zone].Delete 'suppression préalable
On Error GoTo 0
plage.EntireRow.Copy 'copie de la plage
[62:62].Insert 'insertion de lignes
Me.Names.Add "Zone", [62:62].Resize(plage.Count) 'mémorisation dans un nom
[Zone].Resize(, 2).Cut [C62]
For i = 61 + plage.Count To 62 Step -1
If Cells(i, 3).Interior.ColorIndex < 0 And Cells(i, 3) <> "" And Cells(i, 4) = "" _
Or Cells(i, 3).Interior.ColorIndex > 0 And Cells(i + 1, 3) = "" _
Or Cells(i, 3) & Cells(i + 1, 3) = "" Then Rows(i).Delete
Next
If [C62] = "" Then Rows(62).Delete
'[D62].Resize(plage.Count).ClearContents 'si l'on veut effacer les "x"
End Sub