OVH Cloud OVH Cloud

SommeProduct

7 réponses
Avatar
MV
Bonjour,

Quelle est la syntaxe du sommeProd dasn une macro ?
Il semble attendre un range alors que je veux lui passer un produit de
condition sur des ranges...

Voilà par exemple :
=SOMMEPROD(1*($W6:$W3000>0); W6:W3000) marche bien dasn une cellule

Application.WorksheetFunction.SumProduct(1 * (Range("W6:W3000") > 0),
Range("W6:W3000")) renvoie #VALEUR...

Au secours !
Merci
MV

7 réponses

Avatar
Ellimac
Bonjour,

Un exemple :
ActiveCell = _
"=SUMPRODUCT((" & Range("a2:a11").Address
& "=""tours"")*" _
& Range("b2:b11").Address & ")"

Camille

-----Message d'origine-----
Bonjour,

Quelle est la syntaxe du sommeProd dasn une macro ?
Il semble attendre un range alors que je veux lui passer
un produit de

condition sur des ranges...

Voilà par exemple :
=SOMMEPROD(1*($W6:$W3000>0); W6:W3000) marche bien dasn
une cellule


Application.WorksheetFunction.SumProduct(1 * (Range
("W6:W3000") > 0),

Range("W6:W3000")) renvoie #VALEUR...

Au secours !
Merci
MV


.



Avatar
MV
Bonjour Camille,

L'exmple que tu donnes permet d'affecter une formule SommeProd dasn une
cellule.
Notre soucis est d'obtenir le résultat dasn la Macro sans passer par une
feuille Excel (avec WorksheetFunction).

Ce n'est peut-etre pas possible...




"Ellimac" a écrit dans le message de
news: 04c201c51b32$1e5b6cb0$
Bonjour,

Un exemple :
ActiveCell = _
"=SUMPRODUCT((" & Range("a2:a11").Address
& "=""tours"")*" _
& Range("b2:b11").Address & ")"

Camille

-----Message d'origine-----
Bonjour,

Quelle est la syntaxe du sommeProd dasn une macro ?
Il semble attendre un range alors que je veux lui passer
un produit de

condition sur des ranges...

Voilà par exemple :
=SOMMEPROD(1*($W6:$W3000>0); W6:W3000) marche bien dasn
une cellule


Application.WorksheetFunction.SumProduct(1 * (Range
("W6:W3000") > 0),

Range("W6:W3000")) renvoie #VALEUR...

Au secours !
Merci
MV


.



Avatar
AV
MsgBox [sumproduct((W6:W3000>0)*(W6:W3000))]

AV
Avatar
Daniel.M
Bonjour,

Utilise EVALUATE() avec une formule anglaise

resultat = EVALUATE("=SUMPRODUCT(1*($W6:$W3000>0), W6:W3000)")

Tu peux préciser le nom de la feuille (dans la formule) si tu veux t'assurer que
les données feront toujours référence à celle-ci (et non pas à l'ActiveSheet)

Salutations,

Daniel M.

"MV" wrote in message
news:421f2847$0$13193$
Bonjour Camille,

L'exmple que tu donnes permet d'affecter une formule SommeProd dasn une
cellule.
Notre soucis est d'obtenir le résultat dasn la Macro sans passer par une
feuille Excel (avec WorksheetFunction).

Ce n'est peut-etre pas possible...




"Ellimac" a écrit dans le message de
news: 04c201c51b32$1e5b6cb0$
Bonjour,

Un exemple :
ActiveCell = _
"=SUMPRODUCT((" & Range("a2:a11").Address
& "=""tours"")*" _
& Range("b2:b11").Address & ")"

Camille

-----Message d'origine-----
Bonjour,

Quelle est la syntaxe du sommeProd dasn une macro ?
Il semble attendre un range alors que je veux lui passer
un produit de

condition sur des ranges...

Voilà par exemple :
=SOMMEPROD(1*($W6:$W3000>0); W6:W3000) marche bien dasn
une cellule


Application.WorksheetFunction.SumProduct(1 * (Range
("W6:W3000") > 0),

Range("W6:W3000")) renvoie #VALEUR...

Au secours !
Merci
MV


.







Avatar
MV
Excellent.
Merci beaucoup et bon WE

Salutations
MV


"Daniel.M" a écrit dans le message de
news: %
Bonjour,

Utilise EVALUATE() avec une formule anglaise

resultat = EVALUATE("=SUMPRODUCT(1*($W6:$W3000>0), W6:W3000)")

Tu peux préciser le nom de la feuille (dans la formule) si tu veux
t'assurer que
les données feront toujours référence à celle-ci (et non pas à
l'ActiveSheet)

Salutations,

Daniel M.

"MV" wrote in message
news:421f2847$0$13193$
Bonjour Camille,

L'exmple que tu donnes permet d'affecter une formule SommeProd dasn une
cellule.
Notre soucis est d'obtenir le résultat dasn la Macro sans passer par une
feuille Excel (avec WorksheetFunction).

Ce n'est peut-etre pas possible...




"Ellimac" a écrit dans le message
de
news: 04c201c51b32$1e5b6cb0$
Bonjour,

Un exemple :
ActiveCell = _
"=SUMPRODUCT((" & Range("a2:a11").Address
& "=""tours"")*" _
& Range("b2:b11").Address & ")"

Camille

-----Message d'origine-----
Bonjour,

Quelle est la syntaxe du sommeProd dasn une macro ?
Il semble attendre un range alors que je veux lui passer
un produit de

condition sur des ranges...

Voilà par exemple :
=SOMMEPROD(1*($W6:$W3000>0); W6:W3000) marche bien dasn
une cellule


Application.WorksheetFunction.SumProduct(1 * (Range
("W6:W3000") > 0),

Range("W6:W3000")) renvoie #VALEUR...

Au secours !
Merci
MV


.











Avatar
AV
Merci beaucoup et bon WE


Fallait pas...
C'est trop !
Je suis confondu devant tant d'amabilité !

AV

Avatar
Daniel.M
Incompris un jour, incompris ... ! ;-)

Daniel M.

"AV" wrote in message
news:
Merci beaucoup et bon WE


Fallait pas...
C'est trop !
Je suis confondu devant tant d'amabilité !

AV