Option Explicit
Sub produitAB()
Dim i As Long, oDat()
oDat = Intersect(Range([A1], [A1].SpecialCells(xlLastCell)), Range("$A:$C")).Value
For i = 2 To UBound(oDat, 1)
If IsNumeric(oDat(i, 1)) And IsNumeric(oDat(i, 2)) And Not IsEmpty(oDat(i, 1)) And Not IsEmpty(oDat(i, 2)) Then oDat(i, 3) = oDat(i, 1) * oDat(i, 2) Else oDat(i, 3) = Empty
Next i
Intersect(Range([A1], [A1].SpecialCells(xlLastCell)), Range("$A:$C")).Value = oDat
End Sub
Sub sommeAB()
Dim i As Long, oDat()
oDat = Intersect(Range([A1], [A1].SpecialCells(xlLastCell)), Range("$A:$C")).Value
For i = 2 To UBound(oDat, 1)
If IsNumeric(oDat(i, 1)) And IsNumeric(oDat(i, 2)) And Not IsEmpty(oDat(i, 1)) And Not IsEmpty(oDat(i, 2)) Then oDat(i, 3) = oDat(i, 1) + oDat(i, 2) Else oDat(i, 3) = Empty
Next i
Intersect(Range([A1], [A1].SpecialCells(xlLastCell)), Range("$A:$C")).Value = oDat
End Sub