Boucle sur formule matricielle en VBA
Bonjour à tous,
J'aimerai pouvoir réaliser une boucle sur une formule matricielle en VBA.
Le but étant de pouvoir utiliser la Formule VBA mettant seulement le résultat dans la cellule(voir ci dessous).
D'un coté j'ai un onglet "historique de vente" duquel je me sert des colonnes "Année et Mois" (je n'arrive pas à utiliser la date en un seul format ex, 01/01/2018)
De l'autre j'ai un onglet "stats" duquel je fais la somme de mon "historique de vente" suivant l'année et les 12 mois de l'année.
Les formules ci dessous marches toutes MAIS dans VBA je n'arrive pas a faire une boucle pour qu'a l'appui sur un bouton les cellules des mois se remplissent automatiquement suivant l'année.
Dans ma formule je rempli uniquement 1 cellule suivant une année et j'aimerai que les 12 mois se remplissent automatiquement ainsi que pouvoir le faire sur plusieurs années. Le tout uniquement avec la formule qui ne met que le resultats dans la cellule (sinon cela prend trop de ressource).
Je sais pas si je suis assez clair (j'espére que les images apparaîtront ci dessous ...).
Vous remerciant par avance pour l'aide que vous pourrez m'apporter.
Bonne soirée
Formule EXCEL :
{=SOMME(SI((Historique_Vente!$C:$C)=X$3;SI(Historique_Vente!$B:$B=$U6;Historique_Vente!$L:$L;0);0))}
[b]
Formule VBA mettant la formule dans la cellule :[/b]
Sheets("stats").Range("v6").FormulaArray = "= SUM(IF((Historique_Vente!$C:$C)=v$3,IF(Historique_Vente!$B:$B=$U6,Historique_Vente!$L:$L,0),0))"
[b]
Formule VBA mettant seulement le resultat dans la cellule :[/b]
a = Evaluate([SUM(IF((Historique_Vente!$C:$C)=v3,IF(Historique_Vente!$B:$B=$U6,Historique_Vente!$L:$L,0),0))])
Range("v6") = a
Bonjour Mister Frize et
Je ne vois pas de SOMME.SI.ENS() et je suis fort étonné par rapport à ta demande
Le problème de ressource vient souvent d'un problème de plage de calcul mal paramétré
A+
Bonjour à tous
Du matriciel sur des colonnes entières peut effectivement poser problème...
Quitte à utiliser VBA calcule la taille des plages...