SI ET OU avec trois solutions

  • Initiateur de la discussion Gilles
  • Date de début
G

Gilles

Guest
Bonjour à tous

Une question sur le conditions, je ne m'en sors pas.

En effet, faire un 'si' avec deux slutions , à savoir si c'est Jacques c'est Rennes, si c'est Pierre c'est MARSEILLES, mais faire un si avec trois solutions possibles comment faire.

Ma demande est plus complète dans mon fichier joint.

Merci à tous ce qui me liront et répondront. [file name=sietou.zip size=1930]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/sietou.zip[/file]
 

Pièces jointes

  • sietou.zip
    1.9 KB · Affichages: 20
J

jocelyn

Guest
Bonjour le Forum
Bonjour Gilles,

voila un petit essai en pièce jointe

Jocelyn [file name=Gilles_20050628114637.zip size=1932]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Gilles_20050628114637.zip[/file]
 

Pièces jointes

  • Gilles_20050628114637.zip
    1.9 KB · Affichages: 19

andré

XLDnaute Barbatruc
Salut Gilles,

Tes explications sont aussi confuses que ton fichier, je n'y comprens rien !

Dans ton fichier tu parles de la ligne 12, que vient-elle y faire ?
De plus tu as une référence circulaire !
Où veux-tu voir le résultat ?

Pour t'aider il faudrait que tu exprimes clairement les conditions.
Le reste est un jeu d'enfants.

Ândré.
 

Titi_Malembourg

XLDnaute Occasionnel
J'ai trouvé :
= OU( ET( B7=F3; C7=F3 ); ET( B7=F4; C7=F4 ); ET( B7=F5; C7=F5) )
Cependant, B7 pointe les cellules F3 F4 et F5 d'ou une erreur circulaire.
Ce que tu peux faire, c'est :
= OU( ET( B7='Pierre'; C7=F3 ); ET( B7='Machin'; C7=F4 ); ET( B7='Truc'; C7=F5) )
Ca devrait marcher. Tu me tiens au courant ?
 

andré

XLDnaute Barbatruc
Salut jocelyn,

Si c'est cela la question, alors chapeau !
Moi j'avais pas compris que c'était aussi simple (lol).

Mais alors pourquoi ne pas mettre les prénoms et les villes les uns à côté des autres et le faire par un RECHERCHEV ?
Car avec les SI, tu seras rapidement confronté à la limite des sept fonctions imbriquées.

Ândré.
 

bbmarcus

XLDnaute Occasionnel
Bonjour Gilles, Jocelyn, André? Mutzik, le form,

je suis assez d'acdord avec andré.....
Soit tu fais un rechercheV, soit un index/equiv.....

Pour l'index/equiv, il te faut une base de donnée ou tout est référencé(nom, ville, voir plus si tu veux!).
Pour la recherche, tu peux utiliser un combo, tu choisi une cellule en linkcell (dans les propriétés) qui te servira à faire ta recherche......

Dis-moi si tu veux plus d'infos......

bbmarcus
 

Monique

Nous a quitté
Repose en paix
Bonjour,

Dans le fichier joint, le choix entre
Recherchev, Index Equiv et Decaler
[file name=GillesV1.zip size=1993]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/GillesV1.zip[/file]
 

Pièces jointes

  • GillesV1.zip
    1.9 KB · Affichages: 26
  • GillesV1.zip
    1.9 KB · Affichages: 30
  • GillesV1.zip
    1.9 KB · Affichages: 24
D

DBP

Guest
Bonjour Gilles, bbmarcus, André, Monique, Titi_Malembourg, mutzik, Jocelyn, le Forum, etc--- etc...

Le temps de regarder et de voir le fichier de Gilles, de prendre un encas. Et hop... voilà les réponses qui ont fusées. :huh:

Qu'importe je donne mon avis malgré tout et qui peut aidé aussi Gilles. Voilà mes petites explications trouvées dans ma petite tête: :ermm:

Ta formule tu l'écris comme ceci :

'=Si(Ou(B7=F3;C7=F3);(B7=F4;C7=F4);(B7=F5;C7=F5)).

Le 'Ou(B7=F3;C7=F3)' est, escuse-moi l'expression, RIDICUUUUULE!!!!!!!! :whistle: . Puisqu'au départ tu as en B7 trois choix (Jacques, Pierre, Slash), C7 n'est que pour recevoir le résultat de la formule, Il ne peut entrer dans le choix du OU sinon alors il y a bien une référence ciculaire comme t'indique André. Il te reste donc B7=F3. Il aurait fallu écrire plutôt : 'Ou(B7=F3;B7=F4;B7=F5)'.

Ensuite la condition Si entraine un résultat suivant vrais ou faux. Problème, il y a trois cas. En soi cela n'est pas génant mais le problème est de résoudre avec un seul SI est impossible. Ce qui complique la tache est que le OU que je donne est toujours vrais. Il faut passer par SI sans le OU soit le plus simple donner en exemple par Jocelyn mais en l'appliquant a ta demande :

'=Si(B7=F3;F7;Si(B7=F4;F8;Si(B7=F5;F9;'Comment as-tu fais?')))

Et là je rejoins André, bbmarcus, et surement Monique (je n'ais pas vu le fichier) parceque trois réponse passe encore... Va je suis généreux cela peux marché jusqu'à 7 conditions comme te le signale André mais au-delà impossible. Il faut donc changer la méthode et ceux que propose Monique sont bien mieux pour des besoins bien plus important.

En attente,

Bernard.
 

Dugenou

XLDnaute Barbatruc
Salut Gilles, Salut les intervants, salut DBP

Ce message s'adresse à DBP : ça ne t'es jamais arrivé d'écrire une formule redondante ou ridicule ?

Un peu de compréhension ne fait pas de mal aux chevilles : si Gilles est venu poser une question c'est pour qu'on l'aide à faire mieux, à s'améliorer, pas pour faire noter sa formule (dont il sait qu'elle ne marche pas)

Gilles :
Sur le fond de la question : le recherchev ou index + equiv est mieux que plusieurs si imbriqués comme te l'ont déjà dit les autres intervenants sur ce fil.

Cordialement
 

Sylvie

XLDnaute Accro
Bonsoir à vous tous,

je planchais sur le fichier de Monique et je ne comprends pas le sens de la fonction DECALER utilisée en I7. Pourquoi faire référence à J2
=DECALER(J2;EQUIV(B7;J3:J5;0);1), une cellule 'hors tableau'. C'est sans doute là, la subtilité de cette fonction mais si quelqu'un a les clés, mon cerveau est verouillé.

Merci
Sylvie
 

Sylvie

XLDnaute Accro
Bonsoir à vous tous,

je planchais sur le fichier de Monique et je ne comprends pas le sens de la fonction DECALER utilisée en I7. Pourquoi faire référence à J2
=DECALER(J2;EQUIV(B7;J3:J5;0);1), une cellule 'hors tableau'. C'est sans doute là, la subtilité de cette fonction mais si quelqu'un a les clés, mon cerveau est verouillé.

Merci
Sylvie
 

Monique

Nous a quitté
Repose en paix
Bonjour,

Sylvie, si j'ai fait référence à J2, en dehors du tableau,
c'est pour ne pas avoir -1 dans la formule

Celle-ci donne la même chose
=DECALER(J3;EQUIV(B7;J3:J5;0)-1;1)

Celle-ci, c'est pour jouer :
=DECALER(J3;EQUIV(B7;J3:J100;0)-1;1)

=DECALER(Réf; nb de lignes; nb de colonnes; Hauteur; Largeur)
=DECALER(Réf; position de Jacques dans la plage; 1 colonne; 1 donc omis; 1 donc omis)

Mais utiliser Decaler() dans ce fichier, ça ne vaut pas le coup.
 

Sylvie

XLDnaute Accro
Bonsoir Monique, le forum,

merci de me donner la solution car en fait je tourne en rond depuis des heures sur une fonction DECALER dans le post intitulé FEUILLE D4IDENTIFICATION' (je bute sur l'affichage d'une image liée).
Je recherchais également si tu avais déjà fait une check list des circonstances qui te conduisent à utiliser la fonction DECALER ?

Merci par avance pour ton aide
Sylvie
 

Monique

Nous a quitté
Repose en paix
Re, tous,

Sylvie, je fonctionne plutôt au flair.
Je n'aime pas trop Decaler() et pas du tout Indirect()
(peut-être parce que ça fait 'par derrière', 'par en-dessous', 'moyen détourné', bref : pas franc)
mais ce sont 2 fonctions bien utiles.

Quand est-ce que j'utilise Indirect() ? Je n'ai fait aucune liste.
C'est surtout dans les tableaux à surface variable :
donner un nom à une ligne, un tableau, une colonne.
Pour un tableau, on part d'une cellule en haut à gauche et on décale à partir de cette cellule
largeur : nb de valeurs de la ligne de titres
hauteur : nb de valeurs de la colonne de titres

Aussi quand on fait référence à une plage qui varie selon un choix (un choix fait par une liste de validation, par exemple)

J'ai aperçu le fil 'FEUILLE D4IDENTIFICATION', mais je ne sais pas manipuler les images
Là, on peut donner un nom au tableau des données avec la fonction Decaler()
 

Discussions similaires

Statistiques des forums

Discussions
312 279
Messages
2 086 728
Membres
103 380
dernier inscrit
prolofief