top of page

INDIRECT Excel : références dynamiques + 7 exercices corrigés

  • il y a 3 jours
  • 9 min de lecture

La fonction INDIRECT sur Excel transforme un texte en véritable référence de cellule. S


Concrètement, INDIRECT permet de consolider douze onglets avec une seule formule recopiée, de créer des listes déroulantes en cascade, ou de faire varier une plage de calcul sans jamais rouvrir la barre de formule.


Au programme : la syntaxe, les cas d'usage concrets, les pièges, un fichier de 7 exercices auto-corrigés à télécharger gratuitement.



Au sommaire de ce tutoriel


Téléchargez le fichier d'exercices INDIRECT

Le classeur reprend les sept exercices du tutoriel, classés du plus simple au plus difficile. Vous saisissez vos formules dans les cellules jaunes, la validation est automatique (✅ ou ❌), et un onglet « Corrigé » détaille chaque formule en version française avec son explication. Aucune macro, compatible Excel 2016 et versions suivantes, Mac et LibreOffice.



À quoi sert la fonction INDIRECT sur Excel ?

Une formule Excel classique pointe vers une adresse figée :


=SOMME(C4:C8) additionnera toujours la plage C4:C8.

INDIRECT casse ce lien direct. Elle prend un texte, le lit comme une adresse, et va chercher ce qui s'y trouve.

La référence devient donc une donnée comme une autre, que l'on peut calculer, assembler ou choisir dans une liste.


Les quatre usages qui reviennent le plus souvent en entreprise :

  • consolider plusieurs onglets identiques (un par mois, par filiale ou par magasin) dans une feuille de synthèse ;

  • créer des listes déroulantes en cascade, où le second choix dépend du premier ;

  • faire varier la taille d'une plage de calcul (les 3, 6 ou 12 derniers mois) ;

  • figer volontairement une référence pour qu'elle ne bouge pas lors d'une insertion de lignes.

À l'inverse, si votre référence ne change jamais, INDIRECT n'apporte rien : écrivez la formule en direct, elle sera plus lisible et plus rapide.



Syntaxe de la fonction INDIRECT Excel

=INDIRECT(ref_texte ; [a1])
  • ref_texte : le texte à convertir en référence. Ce peut être un texte entre guillemets, une cellule qui contient une adresse, un nom de plage, ou une expression construite avec l'opérateur &. Argument obligatoire.

  • a1 : précise le format de l'adresse. VRAI ou omis = format A1, le format habituel. FAUX = format L1C1. Argument facultatif.


Un point important avant d'aller plus loin : le texte passé à INDIRECT n'obéit pas aux règles de recopie. Les symboles $ de référence absolue n'ont aucun effet ici, puisque l'adresse est reconstruite à chaque calcul.



Exemple fonction INDIRECT simple : transformer un texte en référence

Commençons par le cas le plus dépouillé. Dans le fichier d'exercices, l'exercice 1 « Donnée RH : première référence texte » vous demande d'afficher le salaire du collaborateur dont l'adresse de cellule est écrite en toutes lettres dans une cellule voisine. Il est déjà résolu et vous sert de modèle.


Exercice 1 : Donnée RH : première référence texte

Exercice RH: tableau des collaborateurs et salaires, adresse D11, formule affiche 3 050,00 € avec statut Correct.

Objectif : afficher le salaire du collaborateur dont l'adresse de cellule est indiquée en texte, pour bien voir ce que fait réellement INDIRECT.


=INDIRECT("D11")        → affiche le contenu de D11  → 3050€
=INDIRECT(C14)          → C14 contient le texte "D11" : même résultat
La différence est fondamentale : dans le second cas, il suffit de changer le texte de C14 pour que la formule pointe ailleurs, sans jamais toucher à la formule elle-même.


Créer une référence dynamique avec l'opérateur &

C'est ici que la fonction devient intéressante. En assemblant une lettre de colonne et un numéro de ligne, vous fabriquez une adresse à la volée. L'exercice 2 du fichier, « Donnée Commerciale : construire la référence par concaténation », vous fait récupérer le chiffre d'affaires du vendeur situé sur la ligne indiquée en C28.


Exercice 2 : Donnée Commerciale : construire la référence par concaténation

Objectif : récupérer le chiffre d'affaires du vendeur situé sur la ligne cible, sans jamais modifier la formule.


=INDIRECT("D"&C28)

Paramètres :

  • "D" → indique la colonne à utiliser

  • &C28 → ajoute le numéro de ligne contenu dans C28 → ICI 24

  • INDIRECT() → transforme le texte obtenu en référence de cellule


Si C28 contient 24, le texte obtenu est « D24 » et la formule renvoie le contenu de D24. Changez 24 en 26, la formule suit. C'est exactement le même principe d'assemblage que celui utilisé par les fonctions de traitement de texte d'Excel.




INDIRECT sur une autre feuille : consolider plusieurs onglets

C'est l'usage numéro un en entreprise. Vous avez un onglet par mois, tous construits à l'identique, et vous voulez une feuille de synthèse. L'exercice 3, « Donnée Financière : additionner le CA d'un autre onglet », consiste à totaliser le chiffre d'affaires du mois choisi en C34, sans réécrire la formule à chaque fois.

Exercice 3 : Donnée Financière : additionner le CA d'un autre onglet

Objectif : totaliser le chiffre d'affaires du mois choisi en changeant simplement le nom de l'onglet dans une cellule.


=SOMME(INDIRECT(C34&"!C4:C8"))

Paramètres :

  • C34 → contient le nom de la feuille Excel à utiliser → ICI Février

  • &"!C4:C8" → construit l’adresse de la plage à additionner

  • INDIRECT() → transforme ce texte en une vraie référence Excel

  • C4:C8 → cellules à additionner dans la feuille indiquée

  • SOMME() → additionne les valeurs trouvées


Le point d'exclamation sépare le nom de l'onglet de la plage : il fait partie du texte, donc il se place à l'intérieur des guillemets. Si C34 contient « Février », INDIRECT reconstruit « Février!C4:C8 » et la fonction SOMME additionne. En écrivant les noms d'onglets en colonne puis en recopiant la formule vers le bas, vous obtenez une synthèse complète de tous vos onglets en une seule saisie.



Nom d'onglet avec un espace : le piège des apostrophes

C'est l'erreur la plus fréquente en formation, et elle est invisible : dès qu'un nom d'onglet contient un espace, un tiret ou commence par un chiffre, Excel exige des apostrophes autour. La formule précédente renvoie alors une erreur de référence, sans la moindre explication. L'exercice 4, « Donnée Comptable : onglet dont le nom contient un espace », reproduit exactement ce cas avec l'onglet « Budget 2026 ».


Exercice 4 : Donnée Comptable : onglet dont le nom contient un espace

Objectif : totaliser un budget annuel stocké dans un onglet dont le nom contient un espace, sans déclencher d'erreur.

=SOMME(INDIRECT("'"&C41&"'!C4:C8"))

Paramètres :

  • C41 → contient le nom de la feuille Excel à utiliser

  • "'" & C41 & "'!" → ajoute les apostrophes et le symbole ! pour créer une référence de feuille

  • C4:C8 → plage de cellules à additionner

  • INDIRECT() → transforme le texte créé en référence réelle

  • SOMME() → additionne les valeurs de la plage


La syntaxe surprend car elle empile guillemets et apostrophes, mais la logique est simple : l'apostrophe fait partie du texte de l'adresse, on l'ajoute donc de chaque côté du nom d'onglet. Le conseil de nos formateurs : mettez systématiquement les apostrophes, même quand le nom n'en a pas besoin. Elles ne gênent jamais et vous protègent du jour où quelqu'un renommera l'onglet.


INDIRECT et les listes déroulantes en cascade

INDIRECT accepte aussi un nom de plage, et c'est ce qui rend possible les listes déroulantes dépendantes. L'exercice 5, « Donnée Marketing : appeler une plage nommée », vous fait additionner le budget du canal d'acquisition choisi en C47.

=SOMME(INDIRECT(C47))

Si C47 contient « Google » et qu'une plage nommée Google existe, la somme se fait sur cette plage. Le mécanisme des listes en cascade est identique : dans Données > Validation des données, on saisit =INDIRECT(cellule_du_premier_choix) comme source de la seconde liste. Le premier menu choisit une catégorie, le second n'affiche que les éléments de cette catégorie. Si vous débutez sur le sujet, commencez par notre tutoriel liste déroulante Excel.

Deux contraintes à retenir : un nom de plage ne supporte ni espace ni accent, et le texte de la première liste doit correspondre exactement au nom de la plage.

Exercice 5 : Donnée Marketing : appeler une plage nommée

Objectif : additionner le budget du canal choisi en utilisant son nom comme référence, la base des listes en cascade.



Créer une plage variable avec INDIRECT

Plutôt qu'une seule cellule, INDIRECT peut fabriquer une plage entière en construisant ses deux bornes. L'exercice 6, « Donnée Gestion de projet : plage variable », additionne les heures consommées entre deux lignes définies par l'utilisateur.

=SOMME(INDIRECT("D"&C64&":D"&C65))

Variante très utilisée pour le suivi glissant : si la dernière ligne remplie est calculée automatiquement, vous obtenez un total qui s'étend tout seul à mesure que le tableau grandit. Attention toutefois, cette écriture reste textuelle : elle ne s'adapte pas si vous insérez une colonne à gauche. C'est le prix de la souplesse.

Exercice 6 : Donnée Gestion de projet : plage variable

Objectif : additionner les heures consommées entre deux lignes choisies par l'utilisateur, sans réécrire la formule.



L'argument a1 : passer en format L1C1

Le second argument, a1, est facultatif et presque toujours omis. Il indique dans quel format l'adresse est écrite.

=INDIRECT("D11")                → format A1, par défaut
=INDIRECT("L11C4" ; FAUX)      → format L1C1, la même cellule

Le format L1C1 désigne la cellule par son numéro de ligne puis son numéro de colonne. Il devient pratique quand la colonne est le résultat d'un calcul : vous manipulez alors deux nombres, sans avoir à convertir le 4 en lettre « D ».



INDIRECT + ADRESSE + EQUIV : croiser une ligne et une colonne

Pour aller chercher une valeur au croisement d'une ligne et d'une colonne, la fonction ADRESSE fabrique le texte de l'adresse et INDIRECT la lit. L'exercice 7, « Donnée Contrôle de gestion : croiser une ligne et une colonne », vous fait retrouver le chiffre d'affaires d'une région pour un mois donné.

=INDIRECT(ADRESSE(EQUIV(C78;B73:B76;0)+72 ; EQUIV(C79;C72:E72;0)+2))

EQUIV renvoie la position de la région dans la colonne des libellés et celle du mois dans la ligne d'en-têtes ; on ajoute le décalage du tableau pour retomber sur les vrais numéros de ligne et de colonne ; ADRESSE assemble le texte « $E$75 » ; INDIRECT va lire la cellule. Dans la vraie vie, la combinaison INDEX et EQUIV fait la même chose plus simplement, mais comprendre cette construction rend INDIRECT beaucoup plus lisible.

Exercice 7 : Donnée Contrôle de gestion : croiser une ligne et une colonne

Objectif : retrouver le CA d'une région pour un mois donné en construisant l'adresse de la cellule à la volée.



INDIRECT, INDEX ou DECALER : laquelle choisir ?

Ces trois fonctions produisent des références dynamiques, mais pas de la même manière.

  • INDIRECT part d'un texte. C'est la seule à savoir viser un autre onglet dont le nom est variable, ou une plage nommée choisie par l'utilisateur.

  • INDEX part d'une plage existante et renvoie une position. Elle n'est pas volatile, donc plus rapide, et elle suit les insertions de lignes.

  • DECALER part d'un point de départ et se déplace d'un nombre de lignes et de colonnes. Comme INDIRECT, elle est volatile.

La règle simple de nos formateurs : si le nom de l'onglet ou de la plage est une donnée saisie par l'utilisateur, prenez INDIRECT. Dans tous les autres cas, préférez la fonction INDEX, plus rapide et plus robuste.



Les 3 limites d'INDIRECT à connaître

1. C'est une fonction volatile. Elle se recalcule à chaque modification du classeur, même sans rapport avec elle. Sur quelques dizaines de formules, personne ne le remarque ; sur plusieurs milliers, le fichier devient lent. C'est la raison principale pour laquelle on lui préfère INDEX dès que c'est possible.

2. Elle ne lit pas un classeur fermé. Une référence vers un autre fichier fonctionne tant que ce fichier est ouvert, et renvoie une erreur dès qu'il est fermé. Il n'existe aucun contournement en formule native : il faut passer par Power Query ou regrouper les données dans un même classeur.

3. Elle ne suit pas les insertions de lignes. Si vous insérez une ligne au-dessus de D24, une formule classique se décale, pas INDIRECT : son texte reste « D24 ». C'est un défaut… ou exactement l'effet recherché quand on veut figer une référence en dur.



Pourquoi ma formule INDIRECT ne fonctionne pas ?

Quand INDIRECT renvoie une erreur de référence, la cause est presque toujours dans le texte fabriqué. La bonne méthode de diagnostic : isolez la partie texte de la formule dans une cellule à part et regardez ce qu'elle produit vraiment. Les cinq causes les plus fréquentes :

  • le point d'exclamation manque entre le nom de l'onglet et la plage ;

  • le nom d'onglet contient un espace et n'est pas encadré d'apostrophes ;

  • un espace parasite s'est glissé dans la cellule qui contient le nom (SUPPRESPACE règle le problème) ;

  • la plage nommée appelée n'existe pas, ou son nom comporte un accent ;

  • le classeur source est fermé.

Une fois la cause identifiée, vous pouvez habiller le résultat avec la fonction SIERREUR pour afficher un message clair plutôt qu'un code d'erreur brut.






FAQ : la fonction INDIRECT sur Excel

Comment fonctionne la formule INDIRECT sur Excel ?

INDIRECT reçoit un texte et le convertit en référence de cellule ou de plage. Excel lit ensuite le contenu de cette référence. Comme le texte peut être construit par une formule, la référence devient dynamique.

Comment utiliser INDIRECT avec une autre feuille ?

Il faut inclure le nom de l'onglet et un point d'exclamation dans le texte : =SOMME(INDIRECT(A2&"!C4:C8")). Si le nom de l'onglet contient un espace, encadrez-le d'apostrophes.

INDIRECT fonctionne-t-elle avec un classeur fermé ?

Non. INDIRECT ne peut pas lire un fichier fermé : la formule renvoie une erreur de référence dès la fermeture du classeur source. Utilisez Power Query ou une consolidation dans un même fichier.

Peut-on utiliser INDIRECT dans une liste déroulante ?

Oui, c'est même la méthode standard pour créer des listes en cascade. Dans Données > Validation des données, indiquez =INDIRECT(cellule) comme source, la cellule contenant le nom d'une plage nommée.

Quelle est la différence entre INDIRECT et INDEX ?

INDIRECT part d'un texte et reconstruit une adresse ; INDEX part d'une plage réelle et renvoie une position. INDEX n'est pas volatile, donc plus rapide, et suit les insertions de lignes. INDIRECT reste indispensable quand le nom de l'onglet ou de la plage est variable.


 
 

📈 Évaluer votre niveau

Débutant, intermédiaire ou avancé : quel est votre niveau Excel ?

✅Découvrez notre test pour progresser efficacement !

Test d'évaluation de niveau professionnel

Gratuit et sans prise de contact inutile

🎓 Formez vous

​En présentiel dans votre entreprise ou à distance.

Formez vous à Excel et améliorez vos compétences

Présence nationale, avec des formateurs locaux.

Programme adapté à votre niveau et vos besoins

Notre Organisme de Formation :

Excel formation est une marque de Kronoscope organisme de formation certifié QUALIOPI, spécialiste en formation Excel, Excel VBA, Power Query et Power BI.

 

Nous accompagnons entreprises et particuliers avec des programmes adaptés à tous les niveaux, finançables via votre OPCO ou votre CPF.

Prêt à booster vos compétences ?

  • Formation en présentiel ou à distance (formateurs locaux, sans frais de déplacement)

  • Possibilité de travailler sur vos outils d'entreprise pendant la formation !

  • Un formateur juste pour vous qui avance à votre rythme et répond à toutes vos questions :)

  • Formation par session de 2h ou 3h à distance

Vous êtes débutant ? Intermédiaire ? avancé ? 

Testez votre connaissance sous Excel à travers un test Excel gratuit et avec correction !

🚀 Formez vous avec le CPF

Vous êtes débutant et vous avez besoin d'un accompagnement personnalisé ?

Vous êtes une entreprise et vous souhaitez évaluer vos équipes ?

Contactez nous et améliorez vos compétences Excel 

Présence nationale, avec des formateurs locaux. Devis gratuit en moins 7h

bottom of page