Sub miseajour_RD2()
Dim NbLign, i, j As Long
Dim tRESULT() As Variant
Sheets("par macro").Activate
Application.ScreenUpdating = False
NbLign = Range("A1").End(xlDown).Row
j = 6
ReDim tRESULT(1 To NbLign - 1, 1 To j)
For i = 2 To NbLign
If Range("A" & i) <> "" Then ' RD
tRESULT(i - 1, 6) = DateSerial(Left(Range("$A" & i), 4), Mid(Range("$A" & i), 5, 2), Right(Range("$A" & i), 2))
tRESULT(i - 1, 1) = Format(tRESULT(i - 1, 6), "mmmm")
tRESULT(i - 1, 2) = WorksheetFunction.SumIfs(Range("Price"), Range("entrepôts"), Range("$C" & i), Range("FROM"), Range("$G" & i))
tRESULT(i - 1, 3) = Application.WorksheetFunction.Index(Range("place"), Application.WorksheetFunction.Match(Range("$AF" & i), Range("from"), 0))
tRESULT(i - 1, 4) = IIf(Application.WorksheetFunction.CountIf(Range("$D2:$D" & i), Range("$D" & i)) > 1, "", 1)
tRESULT(i - 1, 5) = Application.WorksheetFunction.Index(Range("catégorie"), Application.WorksheetFunction.Match(Range("$J" & i), Range("produit"), 0))
End If
Next i
Range("$AS2").Resize(UBound(tRESULT), j).Value = tRESULT
Application.ScreenUpdating = True
End Sub