Monsieur Excel
Pour tout savoir faire sur Excel !

30 avril 2016

La fonction Indirect (a)

Il y a longtemps que nous n’avons pas parlé de la fonction indirect(), qui est pourtant une fonction particulièrement originale, et importante, d’Excel.

Supposez qu’en B1, vous ayez récupéré (cf. formule reproduite en B8) un montant de dépense provenant d’un autre classeur. Vous souhaitez rendre cette recherche paramétrable, en vous gardant la possibilité de modifier le nom du classeur, celui de la feuille, ou l’adresse de la cellule concernée.

Cela se fait très bien en utilisant la solution proposée en B2 (cf. formule en B9), grâce à la fonction indirect(). L’argument de la fonction sert uniquement à reconstituer, caractère par caractère, la formule que nous avions en B1 (cf. formule en B8).


Remarque 1 – Si le classeur référencé dans la formule n’est pas ouvert, le résultat de la formule est le message d’erreur #REF !

Remarque 2 – Dans le cas ci-dessus, qu’il y ait $B$129 ou B129 dans la cellule B6 revient strictement au même.

Syntaxe de la fonction

La syntaxe de la fonction est =indirect(référence[;A1]).
Les crochets dans la syntaxe indiquent que cet argument est facultatif.

Remarque 3 – Notez que, contrairement à Microsoft, nous mettons bien  dans nos syntaxes  le ";" à l'intérieur des crochets. Dans l'aide d'Excel, Microsoft les met toujours, à tort, en dehors...

Si l’argument facultatif A1 est FAUX, la référence doit être de type L1C1.

S’il est VRAI ou absent, la référence doit être de type A1, c’est-à-dire une ou plusieurs lettres pour la colonne et un nombre pour la ligne.

2 Commentaire(s):

  • Si la fonction "indirect" est importante et très utile, elle présente le désavantage d'être volatile (tout comme décaler), ce qui peut être un désavantage pour des modèles Excel de grande taille. Si la fonction décaler peut facilement être remplacé par une autre fonction ("index" ou "somme.si" en l’occurrence), je ne vois pas d'alternative à indirect (sauf à recourir aux fonctions personnalisées de VBA). Peut-être avez-vous une solution à ce "léger" problème ?

    Cordialement.

    By Blogger Stefyu Thechosenone, sur 5:40 PM  

  • Comme vous avez pu le constater, le titre de l'article précédent était suivi de "(a)", ce qui signifiait qu'il allait y avoir une suite.

    Nous parlerons plus des fonctions volatiles dans les jours qui viennent...

    By Blogger Hervé Thiriez, sur 7:37 AM  

Enregistrer un commentaire

<< Accueil