Sub calculer()
Dim Ws As Worksheet, Te(), Ts(), L&
Set Ws = Worksheets("Feuil1")
Te = Ws.[A2].Resize(Ws.[A50000].End(xlUp) - 1, 3).Value
ReDim Ts(1 To UBound(Te, 1), 1 To 2)
For L = 1 To UBound(Te, 1)
If IsDate(Te(L, 1)) And IsDate(Te(L, 2)) Then
Ts(L, 1) = WorksheetFunction.Max(Te(L, 1), Te(L, 2))
Ts(L, 2) = Ts(L, 1) - Te(L, 3): End If: Next L
Ws.[D2].Resize(UBound(Ts, 1), UBound(Ts, 2)).Value2 = Ts
End Sub