Relation entre cellules - Fonction INDIRECT

Page visitée : 12350 fois

1. La fonction INDIRECT vous permet de concevoir des liaisons dans plusieurs onglets. Rien de très nouveau jusqu'à là mais l'intérêt de la fonction va résider dans l'utilisation des noms des onglets comme variable. Si on prend l'exemple ci-joint, on va utiliser les intitulés de la colonne A pour récupérer le contenu des valeurs dans les feuilles.
Excel-Exercice-Cours-1
Formule de la cellule
 
 
2. Pour renseigner la colonne B, beaucoup d'utilisateur d'Excel vous pointer sur chaque feuille pour avoir un résultat identitique à celui de l'image. En fait, on refait 6 liaisons manuellement (trop fastidieu)
Excel-Exercice-Cours-2
 
 
3. Donc l'idée c'est de remplacer les noms des feuilles FR, BE, IT, ... par les valeurs de la colonne A. C'est là que la fonction INDIRECT va nous servir. On va écrire entre guillemet tous les éléments de la formule qui ne bouge pas. Par exemple, si on écrit la formule suivante, le résultat restera le même.
Excel-Exercice-Cours-3
Formule de la cellule
=INDIRECT("FR!B7")
 
 
4. Maintenant, on ne va conserver que la référence à la cellule et on va bricoler la formule pour qu'elle lise les valeurs de la colonne A. On va donc utiliser le symbole & pour construite une chaîne de caractère qui utilise à la fois des données variables et aussi des données figées.
Excel-Exercice-Cours-4
Formule de la cellule
=INDIRECT(A2&"!B7")
 
 
 
5. Cette formule peut donc maintenant être copiée et on retrouve le même résultat qu'initialement
Excel-Exercice-Cours-5
 
 
6. Maintenant, on peut aussi imaginer que l'on veuille retourner un résultat, en fonction de l'intitulé en B1. On va donc utiliser la fonction INDIRECT dans une fonction RECHERCHEV. Ici, on va construire une fonction RECHERCHEV de façon tout à fait normale
Excel-Exercice-Cours-6
Formule de la cellule
=RECHERCHEV(B$1;FR!$A$2:$B$9;2;0)
 
 
7. Et ensuite, on transforme la partie de la fonction qui fait référence à l'onglet FR en utilisant la focntion INDIRECT. Et maintenant, les valeurs renvoyées seront fonctions de l'entête de colonne
Excel-Exercice-Cours-7
Formule de la cellule
=RECHERCHEV(B$1;INDIRECT($A2&"!$A$2:$B$9");2;0)
 
 
 
8. Ensuite, cette formule peut être recopiée et en changeant juste l'intitulé de la colonne, on récupère la valeur pour chaque pays.
Remarque : Il est indispensable que chaque données dans les tables soient positionnées à la même ligne. Si jamais il y avait un décalage, les résultats seraient faux.
Excel-Exercice-Cours-8