Bonjour,
voilà,
Sub transfert()
Dim i&, tablo, sh1, sh2
Dim LastRw1 As Long, LastRw2 As Long
Set sh1 = Sheets("Base 1")
Set sh2 = Sheets("Final")
sh2.Columns("A:D").ClearContents
LastRw1 = sh1.Cells(Rows.Count, 1).End(xlUp).Row
LastRw2 = sh2.Cells(Rows.Count, 1).End(xlUp).Row
tablo = sh1.Range(sh1.Cells(3, "A"), sh1.Cells(LastRw1, "D"))
For i = 1 To UBound(tablo)
If tablo(i, 1) = "Commande" Or tablo(i, 3) + tablo(i, 4) > 0 Then
sh2.Range(sh2.Cells(LastRw2, "A"), sh2.Cells(LastRw2, "D")).Value = sh1.Range(sh1.Cells(i + 2, "A"), sh1.Cells(i + 2, "D")).Value
LastRw2 = sh2.Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
Next i
Set sh1 = Nothing
Set sh2 = Nothing
End Sub