Excel 2003

Fermé
JASS - 31 mars 2011 à 19:56
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 1 avril 2011 à 17:15
Bonjour,

J'ai un document avec Excel 2003 avec 4 feuilles, 3 de ses feuilles sont des prix de plomberie, tuyauterie et ventilation. La dernière feuille est ma feuille de calcul. J'ai la formule INDEX et EQUIV pour aller chercher mon prix a l'intersection, mais j'aimerais savoir si ses possible en plus que quand je marque le nom de ma feuille il va chercher mon prix dans cette feuille.

Je joint un exemple de mon fichier.

http://www.cijoint.fr/cjlink.php?file=cj201103/cijCl0crUY.xls


Merci d'avance


A voir également:

1 réponse

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
31 mars 2011 à 22:41
Re,

En D2 :
=INDEX(INDIRECT(A2&"!$A$1:$I$36");EQUIV(B2;INDIRECT(A2&"!A:A");0);EQUIV(C2;INDIRECT(A2&"!1:1");0))
0
J'aimerais que tu m'explique comment que la formule fonctionne, je ne comprend pas comment insérer mon indirect et ensuite si ses possible que dans ma colonne de la formule au lieu de marque #REF si on peu marqué un zéro.


Merci d'avance
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
Modifié par Vaucluse le 1/04/2011 à 14:46
Bonjour
en attendant Patrice:
vous connaissez la formule INDEX EQUIV
le code INDIRECT(Texte) transforme le texte entre parenthèse en adresse de cellule où de champ
A2&"!A:A" regroupe (concatène) le nom inscrit en A2 (nom de la feuille), avec entre guillemets le point d'exclamation nécessaire au code Excel définissant la feuille et le texte du nom de champ à explorer A:A
ainsi quand vous écrivez Feuil1 en A2
INDIRECT(A2&"!A:A") transforme en: Feuil1!A:A

Note
si vos noms de feuilles comportent un blanc il faut complèter par des apostrophes encadrant le nom de la feuille.

=INDIRECT("'"&A2 &"'!A:A")

Crdlmnt
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
1 avril 2011 à 15:20
Re,

Pour obtenir des explications sur une formule comme celle-ci avec plusieurs fonctions imbriquées, il suffit de faire appel à l'assistant formule :
Sélectionner la cellule contenant la formule et, dans la barre des formules, cliquer sur fx : .

L'assistant formule donne une explication succincte de la fonction et de chacun de ses arguments (utiliser la touche Tab pour passer d'un argument au suivant).
Pour les fonctions imbriquées, sans quitter l'assistant, cliquer sur le nom de la fonction dans la formule située dans la barre de formule.
Pour chaque fonction, l'assistant propose aussi un lien Aide sur cette fonction qui fournit alors des explications plus détaillées

1) INDEX(matrice;no_lig;no_col) :
comme à la bataille navale, permet de lire la valeur située dans la plage de données (matrice) qui se trouve à l'intersection de la ligne (no_lig) et de la colonne (no_col).

2) INDIRECT(Référence_texte)
Fait référence à la plage de cellules définie par le texte Référence_texte
Dans ce cas le texte est composé par l'association du texte contenu dans la colonne A (le nom de la feuille) et la plage de cellules dans cette feuille (A1:I36) soit par exemple Tuyau!$A$1:$I$36

3) EQUIV(Valeur_cherchée;Tableau_recherche;Type)
Quand Type=0, renvoie la position de la valeur cherchée dans le tableau de recherche,
par exemple EQUIV(B2;Tuyau!A:A) cherche la position de la valeur écrite en B2, dans la colonne A de la feuille Tuyau, et dans ce cas EQUIV fournit le n° de la ligne sur laquelle est trouvée la valeur.

Cordialement
Patrice
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
1 avril 2011 à 17:15
PS : Dans ton exemple, copie la formule ci-dessus en D2 de la feuille Calacul
. Il y a #REF! en D2 car la cellule A est vide ! si tu écris Tuyau en A2 ça va fonctionner.

Si tu ne veux pas que le #REF! s'affiche utilise la formule suivante :
=SI(ESTERREUR(INDIRECT(A2&"!A1"));"";INDEX(INDIRECT(A2&"!$A$1:$I$36");EQUIV(B2;INDIRECT(A2&"!A:A");0);EQUIV(C2;INDIRECT(A2&"!1:1");0)))
0