Encore des "SI" des "ET" et des "OU"

Résolu
yomaje -  
 yomaje -
Bonjour,

Je souhaiterais trouver la solution au problème suivant (s'il en a une évidement) :

Je possède deux classeurs nommés CL1 et CL2 .
Dans le classeur 1 (en première feuille), j'ai :
Des cellules D8;E8;....;I8 du "texte en choix déroulant"
Des cellules D9;E9;...;I9 avec une date de début pour le choix précédent
Des cellules D10;E10;....;I10 avec une date de fin pour le choix précédent

Dans le classeur 2 (en première feuille), j'ai :

En feuille 1, une ligne L1 des dates de janvier..., en feuille 12, une ligne L1 des dates de décembre.
Sous chaque ligne L1, de chaque feuille je veux afficher le résultat suivant :

Si date en A1 est comprise entre D9 et D10 alors afficher D8, ou si elle comprise entre E9 et E10, alors afficher E8.... si elle est comprise entre I9 et I10, alors afficher I8.

Y-a t-il une méthode simple et efficace sans imbriquer des "si", des "Et" et des "Ou" pour solutionner ce problème ?

Merci d'avance à toutes et à tous !

3 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

Si tu déposes 2 classeurs exemple sur cijoint.fr et que tu colles ici les liens fournis ça motivera peut-être qcq'un...

eric
0
yomaje
 
Bonsoir,

Désolé, mais j'étais en déplacement et je n'avais pas la possibilité de donner d'exemple concret. Voici donc deux "classeurs exemples" ultra simplifiés, pour éclairer les âmes charitables.
Merci d'avance.

http://www.cijoint.fr/cjlink.php?file=cj201106/cijgeFaB1E.ods
http://www.cijoint.fr/cjlink.php?file=cj201106/cijNHyu250.ods
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonsoir,

en B3 :
=INDEX([CL1.xls]Feuille1!$C$8:$I$8;MAX((B2>=[CL1.xls]Feuille1!$D$9:$I$9)*(B2<=[CL1.xls]Feuille1!$D$10:$I$10)*COLONNE($A:$F))+1)
formule matricielle à valider par shift+ctrl+entrée

à tirer vers la droite.
Si la date n'est pas trouvée c'est le contenu de C8 (vide actuellement => 0, tu peux y mettre un espace) qui est ramené.

eric
0
yomaje
 
Bonjour,

Merci pour la formule, mais je viens de la tester et le résultat est soit "Nom?" soit "Err .508"....
J'ai pourtant valider la formule par shift+Ctrl+Entrée.

Une erreur glissée, mais je n'arrive pas à la voir ...
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

ça a l'air de bien marcher sur excel.
Peut-être une fonction à traduire pour open office ?
http://www.cijoint.fr/cjlink.php?file=cj201106/cij6VCdmJw.zip

eric
0
yomaje
 
Re bonjour,

Je viens de repasser sous Excel ; effectivement ça a l'air de bien marcher. En attendant de traduire une éventuelle fonction sous open office, je vais passer sous Excel mon travail originel.
Encore merci pour votre patience et votre travail.
On peut dire que vous me retirez une sacrée épine du pied (et m'épargnez encore mes derniers neurones restants)...
Merci encore.
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 440
 
Bonjour
petite info qui n'a peut être rien à voir, mais si la fonction renvoie NOM, c'est , je pense par que sous open office, les noms de feuilles doivent être identifiés par des points et non des points d'exclamation.

je ne sais pas ce que vaut la formule d'Eric sous open, mais elle doit s'écrire:
=INDEX([CL1.xls]Feuille1.$C$8:$I$8;MAX((B2>=[CL1.xls]Feuille1.$D$9:$I$9)*(B2<=[CL1.xls]Feuille1.$D$10:$I$10)*COLONNE($A:$F))+1)

et par ailleurs open semble bien accepter les matricielles.
Crdlmnt
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Salut vaucluse,

Oui, ça a sûrement à voir...
En plus tu l'as déjà dit il y a qcq jours, il va falloir que je mémorise cette info ;-)

Bonne soirée :-)
eric
0
yomaje
 
Bonjour,

Je reviens vers vous pour le problème ci-dessus. La réponse des différentes personnes est très satisfaisante pour ce cas précis, mais qu'en est-il si je dois, dans mon classeur 1 interroger d'autres lignes que les lignes 8 à 10 ?

Par exemple si je modifie le classeur 1 comme suit :

http://www.cijoint.fr/cjlink.php?file=cj201108/cijAnSnWAT.ods
0