1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
Sub Super_toto()
Dim PS_J1 As Range ', PS_J2 As Range, PS_J3 As Range, PS_J4 As Range, PS_J5 As Range, PS_J6 As Range, PS_J7 As Range
Dim PlageDest As Range
With ThisWorkbook
Set PS_J1 = .Worksheets("J1").Cells(2, 1).Resize(.Worksheets("J1").Cells(.Worksheets("J1").Rows.Count, 1).End(xlUp).Row - 1, 1)
Set PlageDest = .Worksheets("Articles").Cells(2, 3).Resize(.Worksheets("Articles").Cells(.Worksheets("Articles").Rows.Count, 2).End(xlUp).Row - 1, 1)
End With
With PlageDest
'=SOMMEPROD(('J1'!$A$2:$A$35000=Articles!B2)*('J1'!$C$2:$C$35000=Articles!$C$1)*'J1'!$D$2:$D$35000)
.Formula = "=SUMPRODUCT((J1!" & PS_J1.Address(True, True) & "=B2)*('J1'!" & PS_J1.Offset(0, 2).Address(True, True) & "=$C$1)*(J1!" & PS_J1.Offset(0, 3).Address(True, True) & "))"
.Value = .Value
End With
With PlageDest.Offset(0, 1)
'=SOMMEPROD(('J1'!$A$2:$A$35000=Articles!B2)*'J1'!$D$2:$D$35000)
.Formula = "=SUMPRODUCT((J1!" & PS_J1.Address(True, True) & "=B2)*(J1!" & PS_J1.Offset(0, 3).Address(True, True) & "))"
.Value = .Value
End With
MsgBox "Calculs Terminés"
End Sub |