Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 SOMMEPROD en VBA

lacamioneta

XLDnaute Nouveau
Bonjour,

après de longues heures de recherches je suis bloqué sur la construction d'un fichier:
je dois reporter des quantités d'articles venant d'un extract, sur un tableau.
J'y arrive bien quand j'ai a reporter un critère ( voir colonne B de la feuille stock) avec la formule :

Code:
=SOMMEPROD(($A4=extract!A:A)*(glossaire!$B$4=extract!B:B)*(extract!C:C))

mais dès lors que je veux rajouter plusieurs critères à prendre en compte dans la colonne C et D, je coince....( voir feuille glossaire)
ça serai facile avec un TCD mais pour mon fichier final ça ne m'arrange pas...

Il y a t'il un moyen de faire cela en VBA simplement plutôt, j'ai des bases vraiment débutant
merci par avance!!!!!
 

Pièces jointes

  • stock test.xlsx
    29.4 KB · Affichages: 32

lacamioneta

XLDnaute Nouveau
Bonjour Nairolf,

ok compris!!! et merci
pour la colonne "en production" il suffit de les mettre à la suite,
ça marcherai avec ma formule SOMMEPROD?; je vais essayer
en tout cas je pensai qu'il y avait un moyen plus rapide, mais ça serai trop facile

par contre pour la colonne "autre" je n'arrive pas à comprendre la syntaxe de la fin de la formule
 

Nairolf

XLDnaute Accro
Oui, il suffit d'additionner les cas pour chaque critère.

Oui, ça marcherait avec un SOMMEPROD(), mais c'est plus complexe à analyser :
Code:
=SOMMEPROD(($A4=DECALER(extract!$A$1;;;NBVAL(extract!A:A);))*((glossaire!$C$5=GAUCHE(DECALER(extract!$B$1;;;NBVAL(extract!A:A););1))*1+(glossaire!$C$6=GAUCHE(DECALER(extract!$B$1;;;NBVAL(extract!A:A););1))*1+(glossaire!$C$7=GAUCHE(DECALER(extract!$B$1;;;NBVAL(extract!A:A););1))*1+(glossaire!$C$8=GAUCHE(DECALER(extract!$B$1;;;NBVAL(extract!A:A););1))*1)*(DECALER(extract!$C$1;;;NBVAL(extract!A:A);)))

Pour la syntaxe, il s'agit de la syntaxe relative dans un tableau, le @ indique qu'on fait référence à un élément de la même ligne.
 

lacamioneta

XLDnaute Nouveau
Re-
je viens de voir les limites effectivement...je me suis trompé en prenant la 1ere lettre dans mes critères pour l'article en production.
j'ai carrément rajouté une plage de critère dans le glossaire à la place des 1eres lettres.
Dois-je copier à la suite ces 32 formules, ou y a t'il un moyen + rapide
 

Pièces jointes

  • stock test_Nairolf (1).xlsx
    30.5 KB · Affichages: 51

Nairolf

XLDnaute Accro
J'ai trouvé une autre façon de faire, qui va simplifier la chose:
Code:
=SOMMEPROD(SOMME.SI.ENS(DECALER(extract!$C$1;;;NBVAL(extract!A:A););DECALER(extract!$A$1;;;NBVAL(extract!A:A););[@Article];DECALER(extract!$B$1;;;NBVAL(extract!A:A););glossaire!$C$4:$C$35))
 

Discussions similaires

Réponses
5
Affichages
719
Réponses
17
Affichages
834
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…