Formule avec éléments temps et %

Fermé
GuyWinfield - Modifié par GuyWinfield le 29/04/2015 à 11:06
 Tessel75 - 29 avril 2015 à 12:26
Bonjour à tous,

J'aurais besoin d'aide avec une formule qui est assez compliqué. Je suis en train de créer une sorte de système d'alerte sur Access par le biais des Statuts des commandes. Par contre, ceci a besoin de plusieurs critères.
---------------------------------------------------------------------------------------------
J'ai déjà écrit une formule mais je sais très bien qu'elle ne marche pas car il y a des critères précis. Voici ce que j'ai pour l'instant:
---------------------------------------------------------------------------------------------
Statut: VraiFaux([01- Format OF 7-15-29]![Fin Prévue]<=[01- Format OF 7-15-29]![Délai];"A";VraiFaux([01- Format OF 7-15-29]![Fin Prévue]>[01- Format OF 7-15-29]![Délai];"X";VraiFaux([01- Format OF 7-15-29]![Fin Prévue]>Date()+30;"0";VraiFaux(Et([01- Format OF 7-15-29]![StkDisp]=0;20%[01- Format OF 7-15-29]![Qte Cde]>= [livraisons]![Reste à livrer];"A Solder?";"1"))))
---------------------------------------------------------------------------------------------
Il y a 2 problèmes:
Premièrement, la seconde VraiFaux expression supprime le reste de la formule. Car vu que la "fin prévue">"Délai" il n'y a pas de limite de temps alors que dans la fonction d'après il existe un limite de temps excédant 30 jours.
Deuxièmement, la dernière fonction VraiFaux ne marche pas à cause du 20%. Je dois trouver un moyen d'exprimer 20% de "Qte Cde" puis le mettre en relation avec le "Reste à livrer".
---------------------------------------------------------------------------------------------
Je sens que ca sera une grosse mission.

Merci à tous !

Guy
A voir également:

1 réponse

Bonjour,
1), Quand tu as des équations aussi "compliquées" il est indispensable de les écrire d'abord simplement pour bien comprendre ce qui se passe puis de les complexifier fur et à mesure pour arriver enfin à la formule définitive.
2) J'ai commencé par virer le membre "[01- Format OF 7-15-29]" qui encombre et ne sert à rien pour la compréhension.
Tu écris: "Statut: VraiFaux([Fin Prévue]<=[Délai];"A";
VraiFaux([Fin Prévue]>[Délai];"X";
VraiFaux([Fin Prévue]>Date()+30;"0";
VraiFaux(Et([StkDisp]=0;20%[Qte Cde]>= [livraisons]![Reste à livrer];"A Solder?";"1"))))
"
3) En décomposant: VraiFaux([Fin Prévue]<=[Délai];"A"; VraiFaux([Fin Prévue]>[Délai];"X"; ... etc
Càd en clair : Si [Fin Prévue]<=[Délai] alors vaut "A"; sinon vaut ( Si([Fin Prévue]>[Délai];"X"; ...)
Càd qu'avec les 2ères expressions tu as épuisé les conditions; avec si FP <= Délai alors A, sinon (Si FP > A alors X ..... Les conditions sont épuisées, tu as: si <= puis si > .
4) Après, ton 20% ne sert strictement à rien et est faux. Si tu veux 20%, il faut écrire 0,20 et plutôt qu'écrire 20%[Qte Cde], en écrivant 0,2 * [Qte Cde] , ça devrait aller beaucoup mieux.
Commence par ces corrections, parce que je n'ai pas compris ce que tu voulais faire.
A plus tard.
1