Re,
Oui, c'est possible de les supprimer, il suffit de rajouter avant "On Error Resume Next" :
Range(cel.Row & ":" & cel.Row).Delete
Le code devient alors:
For Each cel In Range("H2", Range("H" & Rows.Count).End(xlUp))
If cel = 0 And cel.Offset(0, 1) = 0 Then
If cel.Offset(0, -4).Value = 0 Then
Range(cel.Row & ":" & cel.Row).Delete
On Error Resume Next
Else
cel.Offset(0, 2).Value = CLng(cel.Offset(0, -2).Value) / CLng(cel.Offset(0, -4).Value)
End If
Else
cel.Offset(0, 2).Value = 0
End If
Next cel
Cordialement