Option Explicit
Sub PrecadreUniversel()
Dim RngDon As Range, TBrut(), LBrut&, TFina(), LFina&, TPein(), LPein&, C&
Set RngDon = Intersect([B2:I1000000], ActiveSheet.UsedRange)
TBrut = RngDon.Value
ReDim TFina(1 To UBound(TBrut, 1), 1 To UBound(TBrut, 2)), _
TPein(1 To UBound(TBrut, 1), 1 To UBound(TBrut, 2))
For LBrut = 1 To UBound(TBrut, 1)
If … Then
LFina = LFina + 1
For C = 1 To UBound(TBrut, 2): TFina(LFina, C) = TBrut(LBrut, C)
Next C: End If
If … Then
LPein = LPein + 1
For C = 1 To UBound(TBrut, 2): TPein(LPein, C) = TBrut(LBrut, C)
Next C: End If
Next LBrut
RngDon.Value = TFina
Feuil2.[B2].Resize(UBound(TPein, 1), UBound(TPein, 2)).Value = TPein
End Sub