XL 2016 Simplification formule debile de 19Lignes (RESOLU)

Sghaier Chafaa

XLDnaute Nouveau
Bonjour,

J'ai un fichier destiné à la consommation de Matière Première consommé pour chaque type de produit en fonction de nbr de machine

J'ai essayé de profiter de la fonction SommeProd, mais sans résultat, j'évite les Macro,car le fichier original est devenu trop lourd

J'ai dû donc ecrire une formule de 19 Lignes! pour passer cellule par cellule :'(

ci-joint le fichier
 

Fichiers joints

job75

XLDnaute Barbatruc
Bonjour Sghaier Chafaa,

Pas sûr de comprendre mais peut-être en Principal!G2 :
Code:
=SOMME.SI(BD_Formule!C:C;F4;BD_Formule!D:D)
A+
 

Sghaier Chafaa

XLDnaute Nouveau
Bonjour Sghaier Chafaa,

Pas sûr de comprendre mais peut-être en Principal!G2 :
Code:
=SOMME.SI(BD_Formule!C:C;F4;BD_Formule!D:D)
A+
Bonjour,
ça marche pas, car il faut penser que plusieurs produits peuvent avoir des MP communs,
donc l'objectif est devoir les MP utilisées par chaque machine de la liste et multiplier par le nbr de melange faites de chaque machine
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Je crains qu'il ne faille insérer une colonne E en BD_Formule.
En 'BD_Formule'!E2, à propager sur 462 lignes :
Code:
=SIERREUR(INDEX(Principal!$B$2:$B$35;EQUIV($B2;Principal!$A$2:$A$35;0));0)
En 'Principal'!G2, à propager sur 400 lignes :
Code:
=SOMMEPROD(N(BD_Formule!$C$2:$C$463=$F2);BD_Formule!$D$2:$D$463;BD_Formule!$E$2:$E$463)
 

Sghaier Chafaa

XLDnaute Nouveau
Bonjour.
Je crains qu'il ne faille insérer une colonne E en BD_Formule.
En 'BD_Formule'!E2, à propager sur 462 lignes :
Code:
=SIERREUR(INDEX(Principal!$B$2:$B$35;EQUIV($B2;Principal!$A$2:$A$35;0));0)
En 'Principal'!G2, à propager sur 400 lignes :
Code:
=SOMMEPROD(N(BD_Formule!$C$2:$C$463=$F2);BD_Formule!$D$2:$D$463;BD_Formule!$E$2:$E$463)

Bonjour Dranreb,
Ce que vous proposer est parfaitement fonctionnel, je l'ai testé "Bêtement"

je comprends pas le principe,
 

Dranreb

XLDnaute Barbatruc
C'est simple: pour savoir combien de fois il faut compter les doses de chaque MP on indique dedans combien de fois chaque Produit est spécifié dans l'autre feuille.
 

Sghaier Chafaa

XLDnaute Nouveau
C'est simple: pour savoir combien de fois il faut compter les doses de chaque MP on indique dedans combien de fois chaque Produit est spécifié dans l'autre feuille.
Parfait, je viens de comprendre les formules et le principe, ce qui m'a bloqué est la Fonction "N" que vous avez utilisé imbriqué avec la SommeProd(pour convertir en entier/ou renvoyer 1 si la cdt est vrai) pour la première fois je la dercouvre; Mercii

reste une petite invénient de votre formule, si par faute de frappe, l'utilisateur choisie la même machine dans deux lignes différentes, votre code prends uniquement la prmière occurence

ci joint un explicatif, (en vert)
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
Alors préférons en 'BD_Formule'!E2, à propager sur 296 lignes :
Code:
=SOMME.SI(Principal!$A$2:$A$35;$B2;Principal!$B$2:$B$35)
 

Sghaier Chafaa

XLDnaute Nouveau
Soution trouvé, merci à Dranreb


Je crains qu'il ne faille insérer une colonne E en BD_Formule.
Pour compter le nombre (l'occurence) de chaque machine choisi dans la page principal
=SOMME.SI(Principal!$A$2:$A$35;$B2;Principal!$B$2:$B$35)

En 'Principal'!G2, à propager sur 400 lignes :
=SOMMEPROD(N(BD_Formule!$C$2:$C$463=$F2);BD_Formule!$D$2:$D$463;BD_Formule!$E$2:$E$463)

Pour faire la somme des multiplications de chaque machine avec 3 critères:
critère 1: verification que chaque MP choisie dans la page principal correspond à MP de Machine selectionné
critère 2: extraire la dose de la machine selectionné
critère 3: extraire le nbr de machine grace àa la formule inserer en colonne E de la feulle BD_Formule

puis faire le produit des 3 critères

L'astuce magic, c'est la Fonction "N" qui suit directement la fonction SommeProd : elle sert à renvoyer "1" ou "vrais" si le critère 1 est correcte sinon renvoie 0

j'espère que ça pourra servir à d'autre personnes
 

Fichiers joints

Discussions similaires


Haut Bas