🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Fonction ADDRESS (ADRESSE) Excel — Construire l'adresse d'une cellule sous forme de texte (pas sa valeur)

|

Fonction ADDRESS (ADRESSE) Excel — Construire l'adresse d'une cellule sous forme de texte (pas sa valeur)

En brefADDRESS prend un numéro de ligne et un numéro de colonne et renvoie le texte de l'adresse de cette cellule. Syntaxe : =ADDRESS(no_lig, no_col, [no_abs], [a1], [feuille_texte]). =ADDRESS(1, 1) renvoie la chaîne "$A$1"pas le contenu de A1. C'est un constructeur d'étiquettes, pas un récupérateur de valeurs. L'argument no_abs contrôle le verrouillage par $ (1=$A$1, 4=A1) ; feuille_texte préfixe un nom de feuille. Contrairement à INDIRECT et à OFFSET, ADDRESS n'est pas volatile — c'est de la pure arithmétique de texte. Pour lire réellement la cellule qu'elle nomme, enveloppez-la : =INDIRECT(ADDRESS(...)).

=ADDRESS(3, 2)                       ' -> "$B$3"  (texte, pas la valeur de B3)
=ADDRESS(3, 2, 4)                    ' -> "B3"    (relatif, sans verrous $)
=ADDRESS(MATCH(x, A:A, 0), 1)        ' -> l'adresse de l'endroit où x se trouve dans la colonne A

ADDRESS est l'intruse de la famille des constructeurs de références. INDIRECT transforme du texte en référence ; OFFSET se déplace vers une référence ; ADDRESS va dans l'autre sens — elle produit le texte d'une adresse à partir de simples numéros de ligne et de colonne. Cela la rend de niche, et elle est régulièrement mal comprise par les gens qui s'attendent à ce qu'elle renvoie une valeur. Ce guide clarifie tout cela, montre l'argument de verrouillage par $ que personne ne retient, et est honnête sur la poignée de tâches où elle gagne réellement sa place.

Ce que vous allez apprendre

  • Le modèle mental : des numéros en entrée, une chaîne d'adresse en sortie (l'inverse d'une lecture)
  • Le malentendu n°1 : elle renvoie du texte, pas la valeur de la cellule
  • L'argument no_abs — contrôler $A$1 vs A$1 vs $A1 vs A1
  • Pourquoi ADDRESS n'est pas volatile (et pourquoi c'est un contraste agréable)
  • Les vrais rôles : signaler se trouve une valeur, et alimenter INDIRECT
  • Le choix de jugement honnête : quand vous n'avez presque jamais besoin d'ADDRESS

Remarque — Dans Excel en français, ces fonctions s'affichent sous des noms traduits : ADDRESS → ADRESSE, INDIRECT → INDIRECT, OFFSET → DECALER, INDEX → INDEX, MATCH → EQUIV, XLOOKUP → RECHERCHEX. (SUBSTITUTE s'affiche SUBSTITUE.) Dans les blocs de code ci-dessous, les noms anglais sont conservés tels quels ; utilisez l'équivalent français dans votre version localisée d'Excel. Les codes d'erreur comme #REF! restent identiques en français.

Le modèle mental : des numéros de ligne et de colonne en entrée, une étiquette en sortie

Chaque fonction vue jusqu'ici lisait une cellule. ADDRESS fait quelque chose de plus étroit et de plus mécanique : vous lui donnez un numéro de ligne et un numéro de colonne, et elle assemble le texte qui décrit cette position :

=ADDRESS(1, 1)     ' -> "$A$1"
=ADDRESS(10, 3)    ' -> "$C$10"
=ADDRESS(5, 27)    ' -> "$AA$5"   (colonne 27 = AA — elle gère les lettres pour vous)

La seule chose réellement utile qu'elle vous épargne est cette conversion du numéro de colonne en lettre : savoir que la colonne 27 est AA ou que la colonne 53 est BA est fastidieux à faire à la main, et ADDRESS le fait tout simplement. Au-delà de ça, voyez-la comme un générateur de chaînes qui parle la grammaire des adresses d'Excel — rien de plus.

Le malentendu qui fait trébucher tout le monde

Lisez ceci une fois et vous ne perdrez jamais un après-midi dessus : ADDRESS renvoie du texte, pas une valeur. =ADDRESS(1,1) vous donne les six caractères "$A$1", comme si vous les aviez tapés dans une cellule. Elle ne regarde pas à l'intérieur de A1 :

=ADDRESS(1, 1)              ' -> "$A$1"   (une chaîne)
=INDIRECT(ADDRESS(1, 1))    ' -> le contenu réel de A1

Pour transformer l'adresse qu'ADDRESS construit en la chose qu'elle désigne, vous devez la passer à INDIRECT, la fonction qui transforme du texte en référence vivante. Ce couplage — INDIRECT(ADDRESS(...)) — est la raison la plus courante pour laquelle ADDRESS apparaît dans une formule. Si vous vous surprenez à attendre d'ADDRESS qu'elle récupère des données, c'est une autre fonction que vous cherchez.

L'argument no_abs : quelles parties sont verrouillées

Le troisième argument, no_abs, décide combien de signes $ atterrissent dans la chaîne — le même verrouillage absolu/relatif que vous obtenez en appuyant sur F4 sur une référence :

=ADDRESS(3, 2, 1)   ' -> "$B$3"   (1 = entièrement absolu — la valeur par défaut)
=ADDRESS(3, 2, 2)   ' -> "B$3"    (2 = ligne verrouillée, colonne relative)
=ADDRESS(3, 2, 3)   ' -> "$B3"    (3 = colonne verrouillée, ligne relative)
=ADDRESS(3, 2, 4)   ' -> "B3"     (4 = entièrement relatif)

Deux autres arguments optionnels achèvent la chaîne : a1 (par défaut TRUE pour le style A1 ; FALSE donne du L1C1 comme "L3C2"), et feuille_texte, qui préfixe un nom de feuille — =ADDRESS(3, 2, 1, TRUE, "Feuil2") renvoie "Feuil2!$B$3". Cette forme qualifiée par la feuille est exactement le genre de chaîne que vous passeriez ensuite à INDIRECT.

Pourquoi ADDRESS n'est PAS volatile (et pourquoi ça compte)

Voici le contraste net qui relie la famille des constructeurs de références. INDIRECT et OFFSET sont volatiles — elles se recalculent à chaque modification parce qu'Excel ne peut pas prédire vers quoi elles se résoudront. ADDRESS n'est pas du tout volatile. Elle ne touche jamais à une référence vivante ; elle fait simplement de l'arithmétique sur des numéros et renvoie des caractères. =ADDRESS(5, 3) vaut "$C$5" et le vaudra toujours, quel que soit le contenu du classeur.

L'enseignement pratique : ADDRESS seule est gratuite — vous pouvez en utiliser autant que vous voulez sans coût de performance. La volatilité n'entre en jeu que lorsque vous l'enveloppez dans INDIRECT pour lire la cellule. Donc si vous n'avez besoin que de l'étiquette — un rapport qui dit « le maximum est dans la cellule $C$5 » — ADDRESS seule reste économique et statique.

Les vrais rôles pour lesquels ADDRESS est bonne

Deux motifs la justifient, plus un honnête « et c'est à peu près tout » :

' 1) Signaler OÙ est une valeur, pas seulement ce qu'elle est (associer à MATCH)
=ADDRESS(MATCH(MAX(B:B), B:B, 0), 2)   ' -> adresse de la plus grande valeur de B

' 2) Construire une chaîne de référence qualifiée par la feuille à passer à INDIRECT
=INDIRECT(ADDRESS(ligne, col, 1, TRUE, NomFeuille))
  • « Quelle cellule contient ceci ? »MATCH vous donne la position (un numéro) ; ADDRESS transforme cette position en une adresse lisible par un humain. Utile dans les feuilles d'audit et de contrôle qualité qui doivent orienter une personne vers un emplacement : « plus grand écart : cellule $C$5. »
  • Chaînes de référence dynamiques pour INDIRECT — quand vous calculez déjà des numéros de ligne et de colonne, ADDRESS assemble le texte exact dont INDIRECT a besoin, y compris le verrouillage par $ et le nom de feuille.

Le choix de jugement : vous n'avez probablement pas besoin d'ADDRESS

L'avis honnête : ADDRESS est la plus dispensable des trois. Dans Excel moderne, les questions pour lesquelles les gens y recourent ont généralement des réponses plus propres :

  • « Donne-moi la valeur à cette position »INDEX ou XLOOKUP renvoient la valeur directement, sans l'aller-retour texte-puis-INDIRECT et sans volatilité.
  • « Où est cette valeur ? » → souvent MATCH seule (le numéro de ligne) est tout ce dont une formule en aval a réellement besoin ; le $C$5 lisible par un humain ne vaut la peine d'être construit que lorsqu'une personne doit le lire.
  • « Convertir un numéro de colonne en lettre » → c'est la seule petite chose qu'ADDRESS fait de façon unique, généralement via =SUBSTITUTE(ADDRESS(1, col, 4), "1", "") pour retirer la ligne.

Utilisez donc ADDRESS quand vous avez spécifiquement besoin d'une adresse sous forme de texte — pour un rapport qu'un humain lit, ou comme la moitié « chaîne » d'une référence INDIRECT. Pour tout le reste, INDEX/XLOOKUP/MATCH vous y mènent sans le détour par une chaîne. Le savoir vous évite de construire une tour fragile INDIRECT(ADDRESS(...)) là où un simple INDEX suffirait.

Comment ExcelMaster vous aide

ADDRESS apparaît dans des formules qui sont généralement une couche trop astucieuses — une pile INDIRECT(ADDRESS(MATCH(...))) là où un INDEX ou un XLOOKUP lirait directement. ExcelMaster reconnaît l'intention — trouver la valeur, signaler dans quelle cellule elle est, lire depuis une position calculée — et écrit la version directe : XLOOKUP/INDEX quand vous voulez la valeur, ADDRESS avec MATCH uniquement quand vous avez réellement besoin de l'adresse comme étiquette. Vous vous retrouvez avec la formule plus courte et non volatile que la personne suivante peut réellement lire.

Foire aux questions

Que renvoie la fonction ADDRESS dans Excel ?

Le texte d'une adresse de cellule construite à partir d'un numéro de ligne et d'un numéro de colonne. =ADDRESS(1,1) renvoie la chaîne "$A$1" — pas la valeur de A1. Pour lire la cellule qu'elle nomme, enveloppez-la dans INDIRECT : =INDIRECT(ADDRESS(1,1)).

Comment obtenir la valeur à une adresse depuis ADDRESS ?

ADDRESS ne construit que le texte ; INDIRECT transforme ce texte en une référence vivante. Combinez-les : =INDIRECT(ADDRESS(ligne, col)). Sur Excel moderne cependant, INDEX(plage, ligne, col) obtient généralement la valeur directement, sans aller-retour et sans volatilité.

Que fait l'argument no_abs ?

Il contrôle le verrouillage par $ dans la chaîne renvoyée : 1 = $A$1 (absolu, par défaut), 2 = A$1 (ligne verrouillée), 3 = $A1 (colonne verrouillée), 4 = A1 (relatif). Il reproduit ce qu'un appui sur F4 fait à une référence.

ADDRESS est-elle volatile comme INDIRECT et OFFSET ?

Non. ADDRESS n'est pas volatile — elle ne fait que de l'arithmétique sur des numéros et renvoie du texte, donc elle ne déclenche jamais de recalcul supplémentaire. La volatilité n'apparaît que lorsque vous l'enveloppez dans INDIRECT pour lire réellement la cellule.

Comment trouver l'adresse de cellule d'une valeur ?

Associez ADDRESS à MATCH : =ADDRESS(MATCH(valeur, A:A, 0), 1) renvoie l'adresse de valeur dans la colonne A. Si une formule en aval n'a besoin que de la position (pas d'une adresse lisible par un humain), MATCH seule suffit.

Testé dans

Testé dans : Excel 365 (Windows 11) — dernière vérification le 2026-07-01.

Guides associés : Excel INDIRECT · Excel OFFSET · Excel XLOOKUP · Excel FILTER · Excel SUMIFS