Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formule de Daniel Maher à ameliorer...?

3 réponses
Avatar
Domi
Bonjour Daniel et tous les autres,

Cette formule (un peu trop "musclée" pour moi) est l'oeuvre de Daniel Maher.
Elle permet de connaitre la date (qui figure dans la plage B18:B1972) de
disponibilité d"un produit à partir de la date du jour, connaissant son
délai de production (Jmasq) et les jours qui sont ouvrés ou pas (Plage
D18:D1972, ouvré si <>0).

=INDEX($B:$B;PETITE.VALEUR(SI(($B$18:$B$1972>AUJOURDHUI())*($D$18:$D$1972<>0
);LIGNE($D$18:$D$1972));Jmasq))

Je souhaiterais, si cela est possible integrer un nouveau paramètre, à
savoir le potentiel de production de chaque jour.
Ce paramètre se trouve dans la plage E18:E1972 et se presente sous la forme
d'une valeur numérique >=0 (Si = 0 potentiel maxi atteint, impossible de
produire ce jour là).

Concretement, la formule devrait pouvoir me renvoyer le premier jour dont le
potentiel est >0 à partir de la date théorique de disponibilité (renvoyée
par la formule actuelle).

J'ai bien essayé d'intégrer *($E$18:$E$1972>0) après *($D$18:$D$1972<>0)
mais cela ne me renvoie pas le résultat souhaité...

Merci
Domi

3 réponses

Avatar
Daniel.M
Salut,

J'ai bien essayé d'intégrer *($E$18:$E$1972>0) après *($D$18:$D$1972<>0)
mais cela ne me renvoie pas le résultat souhaité...



Et pourtant... c'est le bon ajout.

Donc, la matricielle suivante:
=INDEX($B:$B;PETITE.VALEUR(SI(($B$18:$B$1972>AUJOURDHUI())*
($D$18:$D$1972<>0)*($E$18:$E$1972>0);LIGNE($D$18:$D$1972));Jmasq))

Moi ça marche en tout cas.
T'as resaisi en matriciel ?

Si ça ne fonctionne toujours pas.
Donne un petit exemple avec données et résultats attendus ou envoie-moi ton
fichier zippé.

Cette formule (un peu trop "musclée" pour moi) ...


Il y aurait moyen d'alléger substantiellement si tu utilises les macros
complémentaires et tu te définis un NOM (Ctrl-F3) avec formule.

Pour le NOM: JrsInvalides
Fait référence à:
=SI(($D$18:$D$1972<>0)*($E$18:$E$1972>0);0;$B$18:$B$1972)

Ensuite ta formule devient:
=SERIE.JOUR.OUVRE(AUJOURDHUI();Jmasq;JrsInvalides)

Salutations,

Daniel M.

Avatar
Domi
Salut Daniel,
En fait ça marche mais trop ! Parce si j'ai un délai Jmasq de 15 cela me
compte 15 jours ouvrés dont le potentiel est >0, hors le 10 eme jours ouvré
(par exemple) même si son potentiel est nul doit être compté dans les 15...
Je t'envoie en BAL Perso de la matière première pour tester la chose...;o)
Merci
Domi

"Daniel.M" <daniel.maher_CHEZ_bigfoot.com.inutil> a écrit dans le message de
news: OU$
Salut,

J'ai bien essayé d'intégrer *($E$18:$E$1972>0) après *($D$18:$D$1972<>0)
mais cela ne me renvoie pas le résultat souhaité...



Et pourtant... c'est le bon ajout.

Donc, la matricielle suivante:
=INDEX($B:$B;PETITE.VALEUR(SI(($B$18:$B$1972>AUJOURDHUI())*
($D$18:$D$1972<>0)*($E$18:$E$1972>0);LIGNE($D$18:$D$1972));Jmasq))

Moi ça marche en tout cas.
T'as resaisi en matriciel ?

Si ça ne fonctionne toujours pas.
Donne un petit exemple avec données et résultats attendus ou envoie-moi
ton

fichier zippé.

Cette formule (un peu trop "musclée" pour moi) ...


Il y aurait moyen d'alléger substantiellement si tu utilises les macros
complémentaires et tu te définis un NOM (Ctrl-F3) avec formule.

Pour le NOM: JrsInvalides
Fait référence à:
=SI(($D$18:$D$1972<>0)*($E$18:$E$1972>0);0;$B$18:$B$1972)

Ensuite ta formule devient:
=SERIE.JOUR.OUVRE(AUJOURDHUI();Jmasq;JrsInvalides)

Salutations,

Daniel M.




Avatar
Daniel.M
Pour info.

Question résolue.

=MIN(SI(($B$18:$B$1972>=PETITE.VALEUR(SI(($B$18:$B$1972>AUJOURDHUI())*
($D$18:$D$1972<>0);$B$18:$B$1972);Jmasq))*($D$18:$D$1972<>0)*($E$18:$E$1972>
0);$B$18:$B$1972))

Salutations,

Daniel M.

"Domi" wrote in message
news:
Salut Daniel,
En fait ça marche mais trop ! Parce si j'ai un délai Jmasq de 15 cela me
compte 15 jours ouvrés dont le potentiel est >0, hors le 10 eme jours
ouvré

(par exemple) même si son potentiel est nul doit être compté dans les
15...

Je t'envoie en BAL Perso de la matière première pour tester la chose...;o)
Merci
Domi

"Daniel.M" <daniel.maher_CHEZ_bigfoot.com.inutil> a écrit dans le message
de

news: OU$
Salut,

J'ai bien essayé d'intégrer *($E$18:$E$1972>0) après
*($D$18:$D$1972<>0)



mais cela ne me renvoie pas le résultat souhaité...



Et pourtant... c'est le bon ajout.

Donc, la matricielle suivante:
=INDEX($B:$B;PETITE.VALEUR(SI(($B$18:$B$1972>AUJOURDHUI())*
($D$18:$D$1972<>0)*($E$18:$E$1972>0);LIGNE($D$18:$D$1972));Jmasq))

Moi ça marche en tout cas.
T'as resaisi en matriciel ?

Si ça ne fonctionne toujours pas.
Donne un petit exemple avec données et résultats attendus ou envoie-moi
ton

fichier zippé.

Cette formule (un peu trop "musclée" pour moi) ...


Il y aurait moyen d'alléger substantiellement si tu utilises les macros
complémentaires et tu te définis un NOM (Ctrl-F3) avec formule.

Pour le NOM: JrsInvalides
Fait référence à:
=SI(($D$18:$D$1972<>0)*($E$18:$E$1972>0);0;$B$18:$B$1972)

Ensuite ta formule devient:
=SERIE.JOUR.OUVRE(AUJOURDHUI();Jmasq;JrsInvalides)

Salutations,

Daniel M.