Lire un tableau dans excel...

Résolu/Fermé
barbiche0 Messages postés 15 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 22 décembre 2008 - 21 déc. 2008 à 20:48
barbiche0 Messages postés 15 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 22 décembre 2008 - 22 déc. 2008 à 01:02
Bonjour,


Mon titre n'est pas très clair, alors voilà mon problème (très simple à résoudre j'imagine) :

J'ai un tableau sous excel qui contient des données prédéfinies : les lignes représentent l'inclinaison, les colonnes l'orientation. Pour une orientation et une inclinaison, le tableau donne un résultat.

L'utilisateur est invité à saisir dans deux cases distinctes une inclinaison et une orientation ; dans une case résultat doit apparaître la lecture du tableau correspondante. Alors d'accord, je pourrais faire une imbrication de plusieurs si avec une rechercheV à chaque fois, mais c'est la solution bidouille. C'est pas classe.

J'ai cherché une fonction qui fonctionnerait par "cas" prédéfinis un peu comme en C, mais j'ai pas trouvé. J'ai aussi vu plusieurs solutions sur le net, notamment par intersection ou avec des fonctions RECHERCHEV intégrant un EQUIV (j'ai rien compris).

J'espère que l'un de vous pourra pointer du doigt la fonction que je cherche ; elle doit quand même bien exister !? Dans le cas contraire, comment résoudre ce problème ?

Merci d'avance.
A voir également:

4 réponses

LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
21 déc. 2008 à 21:34
Tu peux jouer avec deux fonctions, la fonction RECHERCHEV comme tu l'as deviné, mais aussi la fonction EQUIV, qui te donnera le numéro de la colonne à récupérer.


Voilà comment tu procèdes:
En A1 tu tapes la valeur recherchée en colonne, donc l'orientation si j'ai bien suivi.
En A2, l'inclinaison.

Imaginons que ton tableau soit dans les cellules A10:G18, la fonction sera la suivante:
=RECHERCHEV(A2;A10:G18;EQUIV(A1;A10:G10;0);FAUX)

La fonction EQUIV trouvant le numéro de la colonne dans laquelle se trouve l'orientation saisie en A1 parmi les cellules A10:G10; en-têtes de ton tableau donc.
1
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
21 déc. 2008 à 22:49
Bonsoir,

tu peux faire avec equiv() et index().
equiv() te recherche le n° de ligne ou de colonne,
INDEX(tableau;no_ligne;no_col) te retourne l'intersection.

=INDEX(B2:D13;EQUIV(F2;A2:A13;0);EQUIV(G2;B1:D1;0))
B2:D13: tes données
F2: ta valeur recherchée en colonne A (on va dire comme ça pour pas s'embrouiller entre déclinaison et orientation...)
G2: ta valeur recherchée en ligne 1

eric
1
barbiche0 Messages postés 15 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 22 décembre 2008 4
21 déc. 2008 à 22:02
Bonjour LatelyGeek,

Et merci de ta réponse. J'ai appliqué ta formule à mon tableau, mais le résultat affiché est #N/A.

Je dois peut-être préciser deux choses supplémentaires :

- L'orientation entrée est une chaîne de caractères (S, SE, E, etc...) identique dans le tableau, au demeurant ; peut être dois-je modifier un paramètre en conséquence...

- J'ai bêtement inversé dans mon énoncé O_o', les colonnes correspondent à l'orientation (donc le paramètre à modifier serait dans le EQUIV j'imagine...). Désolé.
0
barbiche0 Messages postés 15 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 22 décembre 2008 4
22 déc. 2008 à 01:02
Bonsoir Eriic,

Et merci de ta réponse.
Ta formule fonctionne très bien, et INDEX semble être la fonction parfaite pour mon besoin.

LatelyGeek, merci à toi aussi ; ta formule n'est pas en cause, elle fonctionne bien évidemmment (même si je préfère utiliser INDEX ). Le souci venait du fusionnage de cellule des en-têtes de mon tableau. Une fois défusionnées, tout fonctionne à merveille.

Merci à tous les deux !
A la revoyure ! ^_-
0