ADRESSE (ADDRESS en anglais) te permet de créer des références de cellules de manière dynamique. Au lieu d'écrire « A5 » en dur dans tes formules, tu calcules cette référence à partir de numéros de ligne et de colonne. C'est la fonction qui transforme tes tableaux Excel statiques en outils intelligents et adaptatifs.
Concrètement, tu t'en sers pour extraire automatiquement les données du bon trimestre dans un rapport financier selon un numéro saisi, naviguer entre des feuilles mensuelles d'un même classeur sans modifier tes formules, créer des tableaux de bord interactifs où l'utilisateur entre des coordonnées pour explorer un jeu de données, ou comparer une valeur avec celle de la période précédente dans un tableau vertical.
Syntaxe de la fonction ADRESSE
=ADRESSE(no_lig; no_col; [no_abs]; [a1]; [feuille_texte])ADRESSE retourne du texte, pas une référence exploitable directement. Pour lire la valeur de la cellule pointée, enveloppe toujours dans INDIRECT : =INDIRECT(ADRESSE(5; 3)).
Comprendre chaque paramètre de la fonction ADRESSE
Les deux premiers arguments sont obligatoires et c'est la ligne qui passe avant la colonne, dans cet ordre : ADRESSE(2; 3) vise la ligne 2, colonne 3, donc $C$2. Inverse-les par réflexe et tu pointes la mauvaise cellule sans aucune erreur visible.
Les trois suivants sont facultatifs : no_abs choisit la forme du texte ($A$1 ou A1), a1 garde le style de référence habituel, et feuille_texte te fait sauter sur une autre feuille du classeur.
no_lig
: le numéro de ligne que tu veux référencerPar exemple, 5 pour la ligne 5, 10 pour la ligne 10. Tu peux utiliser une valeur directe, une référence de cellule comme A1, ou une formule comme LIGNE()+3 pour un décalage relatif.
Les numéros de ligne commencent à 1. Si tu utilises 0 ou un nombre négatif, tu obtiendras une erreur #VALEUR!.
Astuce : Utilise LIGNE() (sans argument) pour obtenir le numéro de la ligne actuelle, ou LIGNE(A1) pour récupérer le numéro de la ligne de A1. Combine avec un décalage pour des références relatives.
no_col
: le numéro de colonne à référencerLa colonne A = 1, B = 2, C = 3, etc. Tu peux utiliser une valeur fixe, une référence ou une formule calculée.
Pour retrouver le numéro d'une colonne, utilise COLONNE(). Par exemple, COLONNE(D1) retourne 4.
Astuce : Si tu construis une formule interactive, stocke les numéros de ligne et de colonne dans des cellules séparées plutôt qu'en dur. L'utilisateur peut alors modifier les coordonnées sans toucher aux formules.
[no_abs]
: détermine le type de référence à retourner(facultatif)Ce paramètre contrôle uniquement la forme du texte généré, pas le comportement de la formule elle-même.
- 1 ou omis : référence absolue $A$1 (fixe à 100%)
- 2 : ligne absolue, colonne relative A$1 (ligne fixe, colonne s'adapte)
- 3 : ligne relative, colonne absolue $A1 (colonne fixe, ligne s'adapte)
- 4 : référence relative A1 (s'adapte complètement)
Attention : Ce paramètre n'affecte pas le comportement de la formule ADRESSE elle-même. Il n'a d'impact que si tu utilises ensuite le texte généré dans une autre formule via INDIRECT ou dans la construction d'une plage dynamique.
[a1]
: spécifie le style de référence(facultatif)VRAI (ou omis) pour le style A1 classique. FAUX pour le style L1C1 (Ligne-Colonne) utilisé dans certains environnements de programmation. Par exemple, L5C3 signifie ligne 5, colonne 3.
Laisse ce paramètre à VRAI dans la quasi-totalité des cas : le style A1 est celui que tout le monde reconnaît.
[feuille_texte]
: le nom de la feuille à référencer(facultatif)Si tu l'omets, ADRESSE crée une référence à la feuille active. Si tu spécifies "Janvier", tu obtiendras Janvier!$C$5. Combine avec INDIRECT pour récupérer la valeur de cette autre feuille.
Si le nom de ta feuille contient des espaces (comme « Budget 2024 »), Excel ajoute automatiquement les apostrophes dans le résultat : 'Budget 2024'!$C$5. Ne les mets jamais toi-même, tu obtiendrais des apostrophes en double.
Pas envie d'écrire la formule ADRESSE à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Analyste financier : extraction dynamique du bon trimestre
Tu es analyste financier et tu dois créer un rapport qui extrait automatiquement les données du bon trimestre selon un numéro saisi. Les données des trimestres sont organisées en colonnes (T1 en colonne B = colonne 2, T2 en colonne 3, etc.).
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Ligne | T1 (Col 2) | T2 (Col 3) | T3 (Col 4) | T4 (Col 5) |
| 2 | Ventes | 45 000 € | 52 000 € | 48 000 € | 61 000 € |
| 3 | Charges | 28 000 € | 31 000 € | 29 000 € | 35 000 € |
| 4 | |||||
| 5 | Trimestre à afficher : 3 | ||||
| 6 | Ventes du trimestre : 48 000 € |
=INDIRECT(ADRESSE(2; A5+1))La formule calcule la colonne à partir du numéro de trimestre (3 + 1 = colonne 4), construit l'adresse de la ligne 2 puis va y lire la valeur : 48 000 €. Change le trimestre dans A5 et le rapport s'adapte instantanément, sans que tu touches à aucune formule.
Astuce de pro : Cette technique est parfaite pour les tableaux de bord où tu veux laisser l'utilisateur choisir la période à analyser. Ajoute une liste déroulante sur la cellule du numéro de trimestre pour rendre l'interface encore plus ergonomique.
Chef de projet : statut du jour actuel dans un planning
Tu es chef de projet et tu gères un planning où chaque colonne représente un jour de la semaine. Tu veux extraire automatiquement le statut de la tâche du jour actuel sans modifier ta formule chaque jour.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Tâche | Lun (2) | Mar (3) | Mer (4) | Jeu (5) | Ven (6) |
| 2 | Design | Fait | Fait | En cours | À faire | À faire |
| 3 | Dev | Fait | Fait | Fait | En cours | À faire |
| 4 | ||||||
| 5 | Jour (numéro de colonne) : 4 | |||||
| 6 | Statut Design : En cours |
=INDIRECT(ADRESSE(2; A5+1))Ici, la formule construit l'adresse de la colonne correspondant au jour saisi en A5, puis en lit le statut de la ligne 2 : « En cours ». Tu peux même alimenter A5 avec la date du jour pour que le planning se mette à jour chaque matin sans intervention.
Contrôleur de gestion : navigation entre feuilles mensuelles
Tu es contrôleur de gestion et tu as un classeur avec une feuille par mois (Janvier, Février, Mars...). Tu veux créer un tableau de synthèse qui récupère automatiquement les données du bon mois selon un choix utilisateur.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Mois choisi | Ligne | Colonne | Résultat |
| 2 | Janvier | 10 | 3 | 125 000 € |
| 3 | Mars | 10 | 3 | 138 000 € |
=INDIRECT(ADRESSE(10; 3; 1; VRAI; A2))La formule génère la référence complète avec le nom de feuille (Janvier!$C$10), puis va y lire la valeur : 125 000 €. Change le mois dans la colonne A et elle pointe automatiquement vers la bonne feuille, très pratique quand tu as des structures identiques à consolider sans tout réécrire.
Data analyst : tableau de bord d'exploration interactive
Tu es data analyst et tu construis un tableau de bord où l'utilisateur entre des coordonnées (ligne et colonne) pour explorer un grand jeu de données. Tu veux afficher dynamiquement la valeur de n'importe quelle cellule du tableau.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | A | B | C | D | E | |
| 2 | 1 | Nom | CA Q1 | CA Q2 | CA Q3 | CA Q4 |
| 3 | 2 | Paris | 50K | 55K | 52K | 58K |
| 4 | 3 | Lyon | 42K | 45K | 48K | 51K |
| 5 | 4 | Marseille | 38K | 40K | 43K | 47K |
| 6 | ||||||
| 7 | Ligne : 3 Colonne : 4 | |||||
| 8 | Valeur extraite : 48K |
=INDIRECT(ADRESSE(3; 4))Ici, la formule construit l'adresse de la cellule à la ligne 3 et la colonne 4, puis en lit le contenu : 48K. Ajoute des menus déroulants pour la ligne et la colonne et tu obtiens un vrai outil d'exploration de données interactif, sans macros ni scripts.
Astuces avancées avec ADRESSE
Combine ADRESSE avec LIGNE() et COLONNE() pour des références relatives
=INDIRECT(ADRESSE(LIGNE()-2; COLONNE())) te donne toujours la valeur de 2 lignes au-dessus, quelle que soit la ligne où tu places la formule. Super utile pour comparer une valeur avec celle de la période précédente dans un tableau vertical, sans gérer manuellement les numéros de ligne.
Assure-toi d'ajouter un décalage : LIGNE() seul dans une référence ADRESSE créerait une référence circulaire.
Génère des plages dynamiques pour tes graphiques
Crée une plage textuelle avec =ADRESSE(1;1) & ":" & ADRESSE(10;5) pour obtenir la chaîne $A$1:$E$10. Enveloppe dans INDIRECT et tu as une plage dynamique qui s'adapte selon les numéros que tu fournis. Parfait pour des graphiques dont la taille varie selon les données disponibles.
Associe ça à NB() sur ta colonne de données pour calculer automatiquement la dernière ligne.
Combine ADRESSE avec EQUIV pour des recherches ultra-flexibles
=INDIRECT(ADRESSE(EQUIV("Paris"; A:A; 0); 3)) trouve « Paris » dans la colonne A et récupère la valeur de la colonne C sur cette ligne. C'est une alternative à RECHERCHEV qui n'impose pas que la valeur cherchée soit dans la première colonne de ta plage.
Teste toujours ADRESSE seule d'abord (sans INDIRECT) pour vérifier que la référence générée est bien celle que tu attends, avant d'envelopper.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction ADRESSE
Presque tout ce qui coince avec ADRESSE vient du même malentendu de départ : elle fabrique une adresse en TEXTE, jamais la valeur de la cellule. Tant que tu ne l'enveloppes pas dans INDIRECT, tu vois $C$5 s'afficher au lieu du contenu, et le paramètre no_abs te joue le même tour en ne changeant que le texte sans rien faire à la copie.
Le reste tient à des chiffres ou des noms mal formés : un numéro de ligne à 0 ou négatif déclenche un #VALEUR!, une formule qui se référence elle-même crée une boucle, et des apostrophes ajoutées à la main sur un nom de feuille avec espaces font doublon.
Confusion entre ADRESSE et INDIRECT : la valeur de la cellule n'apparaît pas
ADRESSE retourne du TEXTE (comme $C$5), pas une référence de cellule utilisable. Si tu écris juste =ADRESSE(5;3), tu vois $C$5 affiché, pas la valeur contenue dans la cellule C5.
Solution : Enveloppe toujours ADRESSE dans INDIRECT pour obtenir la valeur : =INDIRECT(ADRESSE(5;3)). C'est le duo indissociable : ADRESSE fabrique l'adresse, INDIRECT va chercher la valeur.
Erreur #VALEUR! sur les numéros de colonne ou de ligne
La colonne A = 1, B = 2, C = 3, etc. Si tu utilises 0 ou un nombre négatif comme numéro de colonne ou de ligne, Excel ne peut pas construire une référence valide et renvoie #VALEUR!.
Solution : Vérifie que tes numéros commencent bien à 1. Pour retrouver le numéro d'une colonne, utilise =COLONNE(A1) qui retourne 1, =COLONNE(B1) qui retourne 2, etc.
Référence circulaire involontaire
Si tu utilises =INDIRECT(ADRESSE(LIGNE(); COLONNE())) directement dans une cellule, tu crées une référence circulaire : la cellule essaie de se référencer elle-même, ce qui bloque le calcul.
Solution : Ajoute toujours un décalage : =INDIRECT(ADRESSE(LIGNE()+1; COLONNE())), ou stocke les numéros de ligne et colonne dans des cellules séparées dédiées à cet usage.
Apostrophes en double dans les noms de feuilles avec espaces
Si le nom de ta feuille contient des espaces et que tu ajoutes manuellement des apostrophes dans le paramètre feuille_texte, ADRESSE les ajoute aussi automatiquement, résultat : double apostrophe et erreur.
Solution : Ne mets jamais les apostrophes toi-même dans le paramètre. Écris simplement =ADRESSE(5; 3; 1; VRAI; "Budget 2024"). Excel gère automatiquement les apostrophes si le nom contient des espaces.
no_abs mal compris : confusion sur le comportement de copie
Le paramètre no_abs contrôle uniquement la forme du texte retourné (avec ou sans $). Il n'affecte pas le comportement de la cellule quand on la copie. Beaucoup pensent que choisir no_abs = 4 rend la formule relative et qu'elle s'adaptera à la copie.
Solution : Ce paramètre ne change que le texte que ADRESSE retourne. Son impact réel n'existe que si tu utilises ensuite ce texte dans INDIRECT ou pour construire une plage dynamique. Pour les formules simples, laisse-le à 1.
ADRESSE vs INDIRECT vs DECALER vs LIGNE/COLONNE
Prends ADRESSE quand tu pars de numéros de ligne et de colonne et que tu veux contrôler la forme de la référence (le $) ou viser une autre feuille du classeur. C'est la seule du tableau à gérer le paramètre feuille_texte et le réglage absolu/relatif.
Si tu as déjà une adresse en texte à lire, c'est INDIRECT ; pour bâtir une plage qui grandit à partir d'un point fixe, DECALER fait ça directement sans repasser par du texte ; et LIGNE/COLONNE ne servent qu'à récupérer un numéro, souvent pour le réinjecter justement dans ADRESSE.
| Critère | ADRESSE | INDIRECT | DECALER | LIGNE/COLONNE |
|---|---|---|---|---|
| Type de retour | Texte (adresse) | Référence réelle | Référence réelle | Nombre |
| Crée des références | Oui (texte seulement) | Oui (à partir de texte) | Oui (directement) | Non |
| Références inter-feuilles | Oui (paramètre feuille_texte) | Oui (via le texte) | Non | Non |
| Contrôle absolu/relatif | Oui (paramètre no_abs) | Non | Non | Non |
| Cas d'usage typique | Construire une adresse depuis des numéros | Lire la valeur depuis une adresse texte | Plages dynamiques à partir d'un point fixe | Obtenir le numéro de ligne/colonne |
Questions fréquentes sur la fonction ADRESSE
Quelle est la différence entre ADRESSE et INDIRECT ?
ADRESSE crée une référence de cellule sous forme de texte (comme $C$5), tandis qu'INDIRECT convertit ce texte en référence réelle utilisable dans un calcul. Ils fonctionnent en duo : ADRESSE génère le texte, INDIRECT va chercher la valeur. Sans INDIRECT, ADRESSE retourne juste du texte visible dans la cellule.
Comment utiliser ADRESSE pour créer des références dynamiques ?
Combine ADRESSE avec des calculs de ligne et de colonne. Par exemple, =INDIRECT(ADRESSE(LIGNE()+5; COLONNE())) crée une référence à la cellule 5 lignes plus bas, quelle que soit la position actuelle. Tu peux aussi utiliser des cellules pour les numéros : =INDIRECT(ADRESSE(A1; B1)) où A1 et B1 contiennent les numéros de ligne et colonne que l'utilisateur contrôle.
Pourquoi utiliser le paramètre no_abs dans ADRESSE ?
Le paramètre no_abs contrôle la forme de l'adresse générée : 1 pour absolu ($A$1), 2 pour ligne absolue (A$1), 3 pour colonne absolue ($A1), 4 pour relatif (A1). C'est utile quand tu construis des formules dynamiques que tu copier-coller dans une autre formule ou dans INDIRECT, et que tu veux contrôler ce qui est fixe et ce qui s'adapte.
Comment créer une référence à une autre feuille avec ADRESSE ?
Utilise le 5e paramètre feuille_texte : =ADRESSE(5; 3; 1; VRAI; "Janvier") crée la référence Janvier!$C$5. Si le nom de la feuille contient des espaces, Excel ajoute automatiquement les apostrophes. Combine avec INDIRECT pour récupérer la valeur : =INDIRECT(ADRESSE(5; 3; 1; VRAI; "Janvier")).
Peut-on utiliser ADRESSE avec le style de référence L1C1 ?
Oui. Le 4e paramètre contrôle le style : VRAI (ou omis) pour le style A1 classique, FAUX pour le style L1C1. Par exemple, =ADRESSE(5; 3; 1; FAUX) retourne L5C3 au lieu de $C$5. C'est utile principalement dans des environnements de programmation VBA ou certaines configurations régionales spécifiques.
Pour aller plus loin
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois

