Somme suivant un critère
Bonjour à Tous,
Je vous demande de l'aide car j'ai besoin de faire la somme des stocks suivant un critère.
Lorsqu'on trouve deux identifiants similaires dans une feuille, on fait la somme des produits en stock.
J'ai trouvé l’expression en code Excel : =SOMME.SI($A:$A;A:A;$I:$I)
J'aimerais avec la traduction en vba afin de créer une macro.
En enregistrant une macro j'obtiens ActiveCell.FormulaR1C1 = "=SUMIF(C1,C[-9],C9)"
Mais je souhaiterais vraiment voir l'expression en code VBA derrière cette formule.
J'ai effectué cette tentative mais les résultats sont absurdes :
Sub test()
Dim i, k As Integer
Sheets(1).Select
ActiveCell.SpecialCells(xlLastCell).Select
Range(Selection, Cells(1)).Select
For i = 2 To Selection.Rows.Count
For k = 2 To Selection.Rows.Count
If Cells(i, 1) = Cells(k, 1) And k <> i Then
Total = Cells(i, 10) + Cells(i, 10)
Cells(i, 10).Value = Total
End If
Next
Next
End Sub
Merci
Je vous demande de l'aide car j'ai besoin de faire la somme des stocks suivant un critère.
Lorsqu'on trouve deux identifiants similaires dans une feuille, on fait la somme des produits en stock.
J'ai trouvé l’expression en code Excel : =SOMME.SI($A:$A;A:A;$I:$I)
J'aimerais avec la traduction en vba afin de créer une macro.
En enregistrant une macro j'obtiens ActiveCell.FormulaR1C1 = "=SUMIF(C1,C[-9],C9)"
Mais je souhaiterais vraiment voir l'expression en code VBA derrière cette formule.
J'ai effectué cette tentative mais les résultats sont absurdes :
Sub test()
Dim i, k As Integer
Sheets(1).Select
ActiveCell.SpecialCells(xlLastCell).Select
Range(Selection, Cells(1)).Select
For i = 2 To Selection.Rows.Count
For k = 2 To Selection.Rows.Count
If Cells(i, 1) = Cells(k, 1) And k <> i Then
Total = Cells(i, 10) + Cells(i, 10)
Cells(i, 10).Value = Total
End If
Next
Next
End Sub
Merci