Bonjour tout le monde;
SVP je voudrai convertir cette fonction en VBA:
=SOMMEPROD((Data!BB$2:BB$9989=$E$5)*(Data!AH$2:AH$9989=B11)*(Data!BA$2:BA$9989=$E$2)*(Data!AV$2:AV$9989)*(Data!AY$2:AY$9989=$E$6)*1)
Je vous remercie
Bonjour tout le monde;
SVP je voudrai convertir cette fonction en VBA:
=SOMMEPROD((Data!BB$2:BB$9989=$E$5)*(Data!AH$2:AH$9989=B11)*(Data!BA$2:BA$9989=$E$2)*(Data!AV$2:AV$9989)*(Data!AY$2:AY$9989=$E$6)*1)
Je vous remercie
SOMMEPROD() c'est bien pour faire des produits matriciels?
A ma connaissance il n'y a pas d'implémentation de produit matriciel dans VBA donc faut se le faire à la main en suivant la définition (Poduit matriciel).
Le plus simple doit être de le faire en utilisant des coordonnées de cellules type "L1C1".
Et attention à bien le faire de gauche à droite car ce n'est pas commutatif!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 'En utilisant la formule Worksheets("Feuil1").Range("A1").Formula = "=SUMPRODUCT((Data!BB$2:BB$9989=$E$5)*(Data!AH$2:AH$9989=B11)*(Data!BA$2:BA$9989=$E$2)*(Data!AV$2:AV$9989)*(Data!AY$2:AY$9989=$E$6)*1)" 'ou bien évaluation de la formule Worksheets("Feuil1").Range("B1").Value = Evaluate("=SUMPRODUCT((Data!BB$2:BB$9989=$E$5)*(Data!AH$2:AH$9989=B11)*(Data!BA$2:BA$9989=$E$2)*(Data!AV$2:AV$9989)*(Data!AY$2:AY$9989=$E$6)*1)")
Partager