Formule Conditionnelle: Si, Et, Ou

darkswordman -  
PHILOU10120 Messages postés 6458 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je suis en train de réaliser un tableur d'aide de jeu pour un wargamme. Or je bloque sur une formule. J'ai donc besoin de votre aide.

En gros:
Si une troupe est équipée d'épée batarde, elle recoit un bonus de +1 (donc la fonction affiche 1)
Si cette troupe est équipée d'épée batarde, mais que son adversaire est équipée de Chemise de Maille ou de Haubert, elle recoit un bonus de +2

La formule que j'ai essayé donne cela mais ne fonctionne pas: =SI(B17="Epée Batarde"; 1;0);SI(ET(B17="Epée Batarde";d40="Chemise de Maille")ou(SI(ET(b17="Epée Batarde";d40="Chemise de Maille");2")

Pourriez vous me sauver, j'essaie depuis hier et je ne trouve pas ce qui coince.

Merci d'avance
A voir également:

4 réponses

chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Bonjour,

=SI(B17="Epée Batarde";SI(OU(D40="Chemise de Maille";D40="Chemise de Haubert");2;1);0)
Cordialement.
0
darkswordman
 
Merci cela marche super par contre quand j'ajoute d'autres armes comme les bonnes qualités et la hache, cela fonctionne pour les armes de bonne qualité mais plus pour la hache

=SI(B17="Epée Batarde";SI(OU(D36="Chemise de Maille";D36="Chemise de Haubert");2;1);0)+SI(B17="Arme de bonne qualité"; 1; 0)+SI(B17="Hache";SI(OU(D36="Armure de Cuir";D36="Armure de Fourrure");2;1);0)

Je ne comprends pas pourquoi car j'ai strictement repris votre formule.

Si vous pouviez m'éclairer je vous en serais reconnaissant
0
chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Bonjour,

je viens de tester avec Hache en B17, et Armure de Cuir en D36, j'obtiens bien 2.
0
darkswordman
 
je comprends pas moi j'ai 0.

Apres B17 est une liste déroulante. Je ne sais pas si cela a de l'importance
0
darkswordman
 
Je viens de tester en supprimant la liste déroulante. Cela fonctionne.
Donc ma question est comment faire pour que cela marche en utilisant des listes déroulantes en b17 et en d36 ?

En tout en cas merci de m'accorder un peu de temps pour m'aider
0
darkswordman
 
Je peux envoyer le fichier en question si besoin
0
chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Bonjour,

effectivement il serait mieux de joindre ton fichier :
1°) Rends-toi sur cjoint.com
2°) crée un lien
3°) Copie le lien dans une réponse à cette discussion.

sinon pour le moment, vérifie que tu n'as pas d'espaces parasites dans tes listes déroulantes (genre ta liste contient "Hache " alors que toi tu teste "Hache").

Cordialement.
0
darkswordman
 
http://cjoint.com/?0BCoEnwpbtU
Voici le document

Je viens de vérifier les espaces parasites et bingo c'était ça

Donc cela semble désormais fonctionner

Merci bcp
0
PHILOU10120 Messages postés 6458 Date d'inscription   Statut Contributeur Dernière intervention   830
 
Bonjour

Voici une formule avec les trois options et 4 testes

Epée Batarde et chemise de maille ou chemise Haubert ou Armure de cuir ou Armure de fourrure si teste Ok valeur 2

Arme de bonne qualité et chemise de maille ou chemise Haubert ou Armure de cuir ou Armure de fourrure si teste Ok valeur 2

Hache et chemise de maille ou chemise Haubert ou Armure de cuir ou Armure de fourrure si teste Ok valeur 2

Vous pouvez supprimer les critères en trop pour chaque teste "ou" pour ne garder que ceux que vous voulez

Si Epée batarde valeur 1
cette dernière option peut être supprimée ce cas ne doit pas se présenter

Si non 0

remplacer les valeurs 2 suivant vos besoins par 1 ou 0

=SI(ET($B$17="Epée Batarde";OU($D$40="Chemise de Maille";$D$40="Chemise de Haubert";$D$40="Armure de cuir";$D$40="Armure de Fourrure"));2;SI(ET($B$17="Arme de bonne qualité";OU($D$40="Chemise de Maille";$D$40="Chemise de Haubert";$D$40="Armure de cuir";$D$40="Armure de Fourrure"));2;SI(ET($B$17="hache";OU($D$40="Chemise de Maille";$D$40="Chemise de Haubert";$D$40="Armure de cuir";$D$40="Armure de Fourrure"));2;SI($B$17="Epée Batarde";1;0))))
0