Formules SI multicritéres

Bonjour à tous,

Je sèche sur une formule SI avec plusieurs critères. Je vais essayer de vous exposer les paramètres ci-après (+ fichier démo en PJ).

Je souhaite ventiler les stocks d'une entité vers d'autres entités en fonction de certains paramètres bien précis. A savoir :

> Envoyer le stock de la colonne Z (nouveau stock) vers l'entité X, Y ou Z (BRIOUDE, BRIVES CHARENSAC ou ISSOIRE pour l'exemple) en priorité vers celui dont le statut article (colonnes BB, BD ou BF) est = 4 (quelque soit son propre stock).

> Si aucune entité n'a un statut = 4, envoyer le stock dans l'entité ayant le niveau de stock le plus bas quelque soit sont statut (donc si statut 0,2,5,6,7,8,9 ou INCONNU)

> Si les statuts (colonnes BB, BD ou BF) de deux ou trois entités s'avèrent identiques, envoyer le stock dans l'entité ayant le niveau de stock le plus bas (si par hasard le stock est également identique, peut importe ou ira le stock)

> Si statut magasin "INCONNU"

image

J'espère que j'ai été clair ^^

Merci d'avance pour votre aide précieuse comme d'habitude !

Cordialement.

Gaëtan

Bonjour,

Un premier jet, sûrement des choses à revoir, mais il aurait été souhaitable que vous mettiez l'image, avec le résultat attendu dans colonne "Stock à ventiler", ce qui nous aurait guidé davantage.

en attendant:

gaet80

formule en BG2:

=SUBSTITUE(SI(BB2=4;"BRIOUDE";SI(BD2=4;"BRIVES CHARENSAC";SI(BF2=4;"ISSOIRE";SI(ET(BB2<>4;BD2<>4;BF2<>4);INDEX(BA$1:BG2;1;EQUIV(MIN(BA2;BC2;BE2);BA2:BF2;0));0))));"Stock ";"")

Cdlt

Bonjour,

Merci de vous pencher sur mon problème :-)

J'ai fait une capture + quelques commentaires en espérant que cela soit plus clair.

Je ne peux malheureusement pas partager le fichier entier il est bien trop "lourd" et il y beaucoup de vas possibles.

J'ai tenté de résumer l'essentiel et de mettre les résultats attendus en colonne H.

En effet, votre formule marche mais elle ne prend pas en compte l'ensemble des paramètres.

Merci d'avance :)

Bonne journée.

Cdlt

image

Pour être sûr de répondre correctement , vous pouvez créer un fichier excel avec une vingtaine de ligne (comme votre dernier exemple) et le mettre en pièce jointe , cela sera suffisant du moment que tous les cas de figure sont représentés, d'autant plus que je n'ai aucune certitude en ce qui concerne l'emplacement des colonnes (initialement c'était BA à BG, et là, c'est de B à H).

Re bonsoir,

Il n'y aura pas assez de 20 lignes pour avoir l'ensemble de cas de figures.

J'en ai mis un certains nombre dans le fichier ci-après. Ce qui m'a par ailleurs permis de constater qu'il pourrait y avoir d'autres cas de figure...

Pas simple !

On va dire que si cela arrive à traiter 90% et que le reste ressort en "ERREUR" par exemple, cela limitera le traitement manuel. Vu que le fichier fait 15.000 lignes cela sera déjà ça de gagné :-)

Si cela est possible bien évidemment.

Merci d'avance.

Cordialement.

Bonjour,

Besoin de précision:

Pourquoi la ligne 2 est "A SOLDER SUR PLACE" et la ligne 33 qui présente apparemment la même configuration est affectée à "BRIVE CHARENSAC" ?

gaet80

Bonjour,

En effet, c'est une erreur de ma part !

En fait ce qu'il est ressorti des quelques ligne que j'ai traité manuellement est qu'il serait possible d'avoir le cas suivant : aucune des 3 entités n'a de stock (ou alors il est indiqué "NON DETENU") ou de statut 4 (voir "INCONNU") alors dans ce cas, le stock en colonne A devra être traité sur place.

Par contre, dans le cas ou l'une des 3 entités "destinataire" aurait un stock >0 (et ceux quelque soit le statut indiqué) le stock doit être ventilé vers celle-ci.

Il peut y avoir tellement de cas possibles que j'ai dû me mélanger les pinceaux (d'où la nécessité d'automatiser un minimum ^^).

Merci d'avance et bonne journée.

Cdlt

Voici un premier jet, bien sûr, il y a des choses qui ne va pas cadrer mais on va y arriver progressivement.

Mettez dans la colonne à côté les résultats attendus s'il y a une erreur, avec un commentaire si possible afin que je puisse corriger.

Quant tout sera au point, je convertirai la macro en fonction personnalisée.

Re bonjour :)

J'ai fait une repasse sur le fichier sur lequel j'ai ajouté une colonne "RESULTAT REEL ATTENDU"

> Si "OK" = résultat conforme

> Si autre résultat indiqué = réel attendu

J'ai aussi ajouté une colonne commentaires afin de préciser le pourquoi du résultat corrigé ;)

Merci encore !

Bonne apm.

Voyons celui-ci:

Re !

Je n'ai plus qu'une cellule en rouge

Et cette fois-ci:

Bonjour,

Nouvelle version avec macro, égale à la version précédente mais avec un contrôle plus précis.

*******************************************************************************************************

et une version avec une fonction personnalisée, il suffit de saisir la formule suivante en H2 et tirer vers le bas:

=ventile(B5;C5;D5;E5;F5;G5)

Cdlt

Bonjour !

Quel talent !! Merci ! 🤩

Je teste cela dans la journée ;-)

Re bonjour,

J'ai été regarder les deux versions qui fonctionnent apparemment.

La seconde parait "plus simple" d'usage non ? Je ne connais pas le principe des formules personnalisées mais quand j'ajoute le reste de mes données dans cette feuille de calcul, les résultats sont faussés. J'imagine que cela décale...

Pour faire plus simple, j'ai dû alléger le fichier mais je vais avoir besoin d'y ajouter (uniquement à gauche de la colonne A) 15 colonnes.

Est-il possible de m'intégrer ces colonnes vierge dans le fichier afin que j'y fasse mes copiés/collés ?

Une fois l'ensemble des données importées, je ferai une relecture plus globale :)

Merci encore et bonne journée.

Cdlt

Bonjour,

Voilà le fichier avec fonctions personnalisées et avec le décalage de 15 colonnes

Que ce soit avec une macro (sub) ou une fonction personnalisée, les 2 fonctionnent avec du code VBA, la différence réside dans le fait que, pour lancer la macro il faut la rattacher à un bouton (ou un quelconque objet) et elle va balayer toute la zone, tandis que la fonction personnalisée fonctionne comme une formule excel classique, mais que pour la cellule où elle se trouve, d'où la nécessité de la reproduire pour toutes les cellules de la zone à traiter.

Cdlt

Bonjour,

Voilà le fichier avec fonctions personnalisées et avec le décalage de 15 colonnes;

Et avec la version macro:

Que ce soit avec une macro (sub) ou une fonction personnalisée, les 2 fonctionnent avec du code VBA, la différence réside dans le fait que, pour lancer la macro il faut la rattacher à un bouton (ou un quelconque objet) et elle va balayer toute la zone, tandis que la fonction personnalisée fonctionne comme une formule excel classique, mais que pour la cellule où elle se trouve, d'où la nécessité de la reproduire pour toutes les cellules de la zone à traiter.

Cdlt

Bonjour,

Un GRAND MERCI à toi pour ton investissement sur mon souci et l'outil fourni !

Cela fonctionne parfaitement !

Tu viens de me faire gagner un temps précieux !

Encore MERCI à toi

Gaëtan

Rechercher des sujets similaires à "formules multicriteres"