Bonjour j'ai un petit probleme de formule si

Fermé
Devone - 7 sept. 2010 à 13:04
Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 - 9 sept. 2010 à 07:57
Bonjour,
En fait j'aimerais faire un si impbriquée correspondant a cet arbre de decision

Si la cellule Affacturage est vide et la cellule courtier aussi on a la cellule reassureur
Sil a cellule affacturage est vide et que la cellule courtier est pleine alors on prend la cellule courtier.
Si la cellule affacturage est pleine et la cellule courtier aussi alors on prend affacturage
si la cellule affacturage est pleine et la cellule courtier vide on prend affacturage

voila ma formule
si(estnum(a2);a2;si(et(estvide(a2);(estvide(l2);b2;si(et(estvide(a2);estnum(l2);l2;a2))
a2=affact b2=reassu et l2=courtier

Merci par avance pour me dire ou ca peche



A voir également:

10 réponses

Raymond PENTIER Messages postés 58798 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 4 janvier 2025 17 262
7 sept. 2010 à 20:06
Salut Devone.

Puisque tu as eu la bonne idée de commencer par un arbre de décision, tu aurais dû continuer par un ordinogramme.

C'est ainsi que tu aurais toi-même découvert comment simplifier ton raisonnement ...
2
Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 692
8 sept. 2010 à 08:03
Bonjour,

Je doute qu'il sache ce qu'est un ordinogramme... moi-même qui ait fait beaucoup de programmation, j'ai du chercher sur le net pour savoir ce que c'est. D'un autre côté, ce terme n'est plus utilisé ou très rarement, il a été remplacé par "algorithme" qui est nettement plus connu.
Mais ta remarque est bonne ceci-dit. Un algorithme aide énormément à la création d'un programme ou une formule comme c'est le cas ici.

Bonne journée.
0
Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 692
Modifié par Neliel le 7/09/2010 à 13:12
Bonjour,

=SI(estvide(A2); SI(estvide(L2); B2; L2); A2)


"Trotti Trotta, Monsieur P, il y a des anges qui veulent un bisou..."
"Même les joujou de Monsieur P ont besoin de joujou"
1
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
7 sept. 2010 à 15:40
Bonjour,

Traduites littéralement tes conditions donnent :
=SI(ET(ESTVIDE(A2);ESTVIDE(L2));B2;SI(ET(ESTVIDE(A2);NON(ESTVIDE(L2)));L2;SI(ET(NON(ESTVIDE(A2));NON(ESTVIDE(L2)));A2;SI(ET(NON(ESTVIDE(A2));ESTVIDE(L2));A2;"Imprévu"))))

Mais comme l'a parfaitement fait Neliel on peut simplifier tes conditions comme ceci :
Si la cellule affacturage est vide :
- si la cellule courtier est vide on prend la cellule réassureur
- si la cellule courtier est pleine on prend la cellule courtier
Si la cellule affacturage est pleine on prend la cellule affacturage

d'où
=SI(ESTVIDE(A2);SI(ESTVIDE(L2);B2;L2);A2)
1
Bonjour

J'ai lu vos réponses et en fait j'avais pas totalement faux, et vos réponses m'ont beaucoup aidé. En fait le problème est que excel ne me reconnaissait pas les cellules vides comme etant réellement vides. Ainsi en remplacant "estvide" ou "estnum" par "esttexte" cela m'a rempli mon tableau correctement. Moi qui m'acharnait sur la formule alors que c'etait le format qui genait.

Par contre j'ai une derniere question, en fait j'aimerais que si le code L2 (courtier) est egale a 6045, 6046, ou 6053 alors on prend le (reassu) sinon on laisse la formule comme elle l'etait.
Donc j'ai tout simplement reimbriqué le tout dans un si pour mettre si (formule complete)=6046 alors b2 ou tte la formule avant mais je n'arrive pas a mettre les 3 criteres en mm tps.
J'ai essayé si(formule complete)=6046, 6045, 6053; b2;formule complete
mais ca ne marche pas. Mon soucis est de valider les 3 criteres d'un coup au lieu de mettre 3 si

Merci encore pour ttes vos aides
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ne vous embetez plus j'ai résolu mon dernier probleme, pour ceux qui veulent savoir , il faut juste mettre si( formule)={donnée1;donnée2;donnée3};b2 ou formule

Merci bcp en tout cas
0
Reponse
0
Ricky38 Messages postés 4349 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 1 459
8 sept. 2010 à 14:36
Salut,

essaie de tester ceci pour voir:
=SI(OU(L2=6045;L2=6046;L2=6053);B2;SI(ESTVIDE(A2); SI(ESTVIDE(L2); B2; L2); A2))
0
Raymond PENTIER Messages postés 58798 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 4 janvier 2025 17 262
8 sept. 2010 à 18:03
Bonjour Neliel.

https://fr.wikipedia.org/wiki/Organigramme_de_programmation nous précise :
"Un organigramme de programmation (parfois appelé algorigramme, logigramme ou plus rarement ordinogramme) est une représentation graphique normalisée de l'enchaînement des opérations et des décisions effectuées par un programme d'ordinateur."

https://fr.wikipedia.org/wiki/Algorithmique nous indique, pour sa part :
"L'algorithmique est l'ensemble des règles et des techniques qui sont impliquées dans la définition et la conception d'algorithmes, c'est à dire de processus systématiques de résolution, par le calcul, d'un problème permettant de décrire les étapes vers le résultat. En d'autres termes, un algorithme est une suite finie et non-ambiguë d'opérations permettant de donner la réponse à un problème."

En résumé, l'algorigramme, parfois appelé ordinogramme, est la représentation graphique d'un algorithme, lequel décrit un processus
de résolution.
0
Neliel Messages postés 6146 Date d'inscription jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 692
9 sept. 2010 à 07:57
Merci pour cette précision.
En effet quand je parlais d'Algorithme, je pensais aussi à Algorigramme que je met péjorativement ensemble. C'est une mauvaise habitude de ma part, c'est juste que, selon moi, algorithme sonne mieux.

Bonne journée à toi
0
Raymond PENTIER Messages postés 58798 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 4 janvier 2025 17 262
8 sept. 2010 à 18:28
Bonjour Devone.

Dans le fichier https://www.cjoint.com/?jisgZObCWK j'ai représenté dans la feuille
"Devone" l'ordinogramme qui reflète fidèlement ton arbre de décision initial, et qui correspond à la formule
=SI(ESTVIDE(A2);SI(ESTVIDE(L2);B2;L2);SI(ESTVIDE(L2);A2;A2)).
Tu constates à l'évidence que tes deux premières règles sont nécessaires, mais que les deux dernières
"Si la cellule affacturage est pleine et la cellule courtier aussi alors on prend affacturage
si la cellule affacturage est pleine et la cellule courtier vide on prend affacturage
"
sont redondantes, et devraient être avantageusement remplacées par
"Si la cellule affacturage est pleine on prend affacturage"

La feuille "Raymond" tient compte de cette simplification, avec la formule de Neliel du 7 sep 2010 à 13:11 ; et je n'ai fait là que reprendre les explications apportées par Patrice33740 le 7 sep 2010 à 15:40 ... Merci à eux deux !
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
9 sept. 2010 à 02:11
Bonjour Devone, bonjour Raymond

Je connaissais l'organigramme de programmation ou logigramme mais je n'ai jamais entendu parler d'algorigramme ni d'ordinogramme, mais peut-être suis-je de la vieille école, celle où on apprenait à compter en binaire, en hexa et en octal !

Pour simplifier des équations de logique combinatoire, je préfère utiliser un bon vieux Tableau de Karnaugh. A chacun ses habitudes pourvu qu'elles soient méthodiques.

Cordialement
Patrice
0