SUMPRODUCT

Bonjour le forum,

J'ai ce code qui fonctionne pour la plage de cellule ("E9:AW12"), je cherche à l'adapter pour qu'il fonctionne avec la plage de cellule (E9:AW" & DerniereLigne). Auriez-vous une idée ?

Range("E16").Select
    ActiveCell.FormulaR1C1 = _
        "=SUMPRODUCT((R[-8]C:R[-4]C=""PO"")*(R[-8]C50:R[-4]C50=1))+SUMPRODUCT((R[-8]C:R[-4]C=""WPO"")*(R[-8]C50:R[-4]C50=1))"
    Range("E17").Select
    ActiveCell.FormulaR1C1 = _
        "=SUMPRODUCT((R[-9]C:R[-5]C=""PO"")*(R[-9]C50:R[-5]C50=0))+SUMPRODUCT((R[-9]C:R[-5]C=""WPO"")*(R[-9]C50:R[-5]C50=1))"
    Range("E18").Select
    ActiveCell.FormulaR1C1 = "=SUM(R[-2]C:R[-1]C)"
    Range("E16:E18").Select
    Selection.AutoFill Destination:=Range("E16:AW18"), Type:=xlFillDefault
    Range("E16:AW18").Select

Bonjour,

vos référence de plage sont "fixe", à votre place je partirais sur une fonction :

Formula au lieu de formulaR1C1

ActiveCell.Formula = _
        "=SUMPRODUCT((E8:E12=""PO"")*($AX8:$AX12=1))+SUMPRODUCT((E8:E12=""WPO"")*($AX8:$AX12=1))"

où le 12 vous le remplacez par DerniereLigne

ActiveCell.Formula = _
        "=SUMPRODUCT((E8:E"&DerniereLigne&"=""PO"")*($AX8:$AX"&DerniereLigne&"=1))+SUMPRODUCT((E8:E"&DerniereLigne&"=""WPO"")*($AX8:$AX"&DerniereLigne&"=1))"

Le principe est le même pour les autres formules

@ bientôt

LouReeD

Merci LouReeD, ça fonctionne parfaitement.

Bonsoir,

merci à vous !

Et en effet, quelque fois mes réponses fonctionnent !

@ bientôt

LouReeD

Rechercher des sujets similaires à "sumproduct"