Comment utiliser la formule INDIRECT sur Excel

Bloqué sur Excel?
Obtenez rapidement une réponse personnalisée en posant votre problème sur le forum: forum.formuleexcel.com
C'est gratuit!

La formule INDIRECT prend comme argument une chaine de caractères et renvoie la valeur de l’objet dont le nom est cette chaine de caractères. L’interêt est que ce nom peut désigner soit une cellule, soit une plage.

Utiliser INDIRECT pour renvoyer la valeur d’une cellule

La première utilisation est de renvoyer la valeur d’une cellule. C’est typiquement intéressant si le nom de la cellule est construit à partir d’une formule.

=INDIRECT(« A3 ») renvoie la valeur de l’objet désigné par le nom A3, c’est à dire la valeur ce la cellule A3

En revanche, =INDIRECT(A1) sans guillemets  prend comme argument la valeur de la cellule A1, c’est à dire puisque la cellule A1 contient « A3 », INDIRECT envoie le contenu de la cellule A3.

utilisation de la formule INDIRECT pour renvoyer une cellule

Utiliser INDIRECT pour renvoyer une plage de valeurs

Une utilisation plus puissante est de donner à INDIRECT comme argument non pas un nom de cellule mais un nom de plage (vous pouvez associer à n’importe quelle plage de cellules un nom propre, vous pouvez lire comment faire ici ).

Par exemple le résultat de =INDIRECT(« Ventes2012 ») renvoie toute la plage Ventes 2012 composée de 3 cellules. Il est ainsi facile de sommer toute la plage en entrant la formule =SOMME(INDIRECT(A3))

utilisation de la formule INDIRECT pour renvoyer une plage de cellules

Renvoyer un nom écrit en dur n’est pas spectaculaire. Ce qui est intéressant c’est de renvoyer la valeur d’un nom qui peut être généré dynamiquement par une formule ou un menu déroulant. C’est d’ailleurs un des moyens pour générer des menus déroulants à plusieurs critères imbriqués. Vous pourriez avoir en case A3 un menu déroulant demandant de choisir entre 2012, 2013 et 2014 et voir la somme des ventes de cette année mise a jour automatiquement par exemple.