Re,
Replace cette macro à la place de la précédente
Sub test()
Dim F$, Dl%
Dl = Range("K" & Rows.Count).End(xlUp).Row
F = "=IF(RC[6]="""",""out"",IF(RC[1]=RC[3],IF(RC[4]>0,IF(RC[4]-RC[2]>0,RC[4]-RC[2],""avance""),IF(RC[7]=RC[1],RC[8]-RC[2],""report ou annul"")),""report ou annul""))"
Range("J7").Formula = F
Range("J7").AutoFill Destination:=Range("J7:J" & Dl), Type:=xlFillDefault
F = "=IF(R[-1]C[-10]=""out"",""out"",IF(OR(R[-1]C[-10]=""avance"",R[-1]C[-10]=""report ou annul""),R[-1]C[-10],IF(R[-1]C[-10]<R1C25,""moins de 30mn"",IF(R[-1]C[-10]<R4C25,""moins de 4h"",""plus de 4h""))))"
Range("W7").Formula = F
Range("W7").AutoFill Destination:=Range("W7:W" & Dl), Type:=xlFillDefault
End Sub