Jump to content

Documentation/Fonctions Calc/ADRESSE

From The Document Foundation Wiki
This page is a translated version of the page Documentation/Calc Functions/ADDRESS and the translation is 100% complete.


Nom de la fonction :

ADRESSE

Catégorie :

Feuille de calcul

Résumé :

Crée une référence de cellule basée sur les numéros de ligne et de colonne spécifiés (et, éventuellement, les noms de feuille de calcul et de fichier), en renvoyant la référence sous forme de chaîne de texte.

Arguments facultatifs :

  • Si la référence de cellule doit utiliser un adressage relatif ou absolu (voir la page d'aide Adresses et références, absolues et relatives pour plus de détails).
  • Si la référence de cellule doit utiliser la syntaxe de formule Calc A1 ou Excel R1C1 (voir la page d'aide Formule pour plus de détails).
  • Si le nom d'une feuille (avec ou sans nom de fichier) doit être inclus dans la référence de cellule.

La fonction ADRESSE permet de déterminer dynamiquement la référence d'une cellule d'intérêt. La chaîne résultante peut ensuite être transmise à la fonction INDIRECT pour récupérer le contenu de la cellule.

Syntaxe :

ADRESSE(Ligne; Colonne[; Abs[; A1[; Feuille]]])

Renvoie :

Renvoie une chaîne de texte représentant une référence de cellule, construite à l'aide des arguments donnés.

Arguments :

Ligne est une valeur entière, ou une référence à une cellule contenant cette valeur, qui correspond au numéro de ligne à utiliser.

Une feuille de calcul Calc peut contenir jusqu'à 1 048 576 lignes (voir ci-dessous pour les limitations supplémentaires).

Colonne est une valeur entière, ou une référence à une cellule contenant cette valeur, qui correspond au numéro de colonne à utiliser. Bien que Calc utilise généralement des lettres par défaut pour désigner les colonnes (la lettre « A » correspondant à la colonne 1), ADRESSE n'accepte que des nombres pour cet argument. Une feuille de calcul Calc peut contenir jusqu'à 16384 colonnes (voir ci-dessous pour les limitations supplémentaires).


Limitations supplémentaires :

Limitations XLS(X)
Format
de fichier
LIGNES max COLONNES max Commentaire
XLSX 1048576 2^20 220 16384 2^14 214 XFD Excel 2007 et versions ultérieures
XLS 65536 2^16 216 256 2^8 28 IV Depuis Excel 97 à 2003
XLS 16384 2^14 214 256 2^8 28 IV Pour Excel 5 et 95

Limitations ODS
Format
de fichier
LIGNES max COLONNES max Commentaire
ODS 1048576 2^20 220 16384 2^14 214 XFD LibreOffice depuis la version 7.4 inclus
ODS 1048576 2^20 220 1024 2^10 210 AMJ LibreOffice avant la version 7.4
ODS 1048576 2^20 220 1024 2^10 210 AMJ OOo depuis la version 3.3 incluse
ODS 65536 2^16 216 1024 2^10 210 AMJ OOo depuis la version 3.0 incluse, avant 3.3
ODS 65536 2^16 216 256 2^8 28 IV OOo avant la version 3.0


Abs est une valeur entière comprise entre 1 et 8, ou une référence à une cellule contenant une valeur entière comprise entre 1 et 8, ce qui détermine l'utilisation de l'adressage absolu ou relatif. Si Abs est omis, la fonction utilise la valeur 1. Bien qu'il existe huit valeurs acceptables pour cet argument, il n'y a que quatre significations possibles, comme indiqué dans le tableau ci-dessous.

A1 est une valeur logique, ou une référence à une cellule contenant une valeur logique, qui détermine la syntaxe de formule à utiliser dans la chaîne renvoyée. Si A1 est défini sur 0 ou FAUX, la syntaxe de formule Excel R1C1 est utilisée. Si A1 est omis ou défini sur une autre valeur numérique, la syntaxe de formule Calc A1 est utilisée.

Le tableau suivant présente la signification des différentes options de l'argument Abs et présente les résultats typiques pour différentes combinaisons des arguments Abs et A1, en supposant que les arguments Ligne et Colonne sont chacun définis sur 1.

Syntaxe de renvoie de référence de cellule selon les arguments Abs et A1
Abs Signification A1 = VRAI A1 = FAUX
1, 5, ou omis Totalement absolu $A$1 R1C1
2 ou 6 Ligne absolue, colonne relative A$1 R1C[1]
3 ou 7 Ligne relative, colonne absolue $A1 R[1]C1
4 ou 8 Totalement relative A1 R[1]C[1]


Feuille est une chaîne de texte (entre guillemets doubles) ou une référence à une cellule contenant une chaîne de texte, qui correspond au nom de la feuille à ajouter au début de la référence de cellule renvoyée. Le nom de la feuille peut inclure le nom et l'emplacement d'un document distinct.

Si l'argument Feuille est omis, aucun nom de feuille (ni séparateur de feuille) n'est inclus dans la chaîne renvoyée, et la référence de cellule résultante sera considérée comme relative à la feuille actuelle.

Calc ne vérifie pas l'existence d'une feuille portant le nom spécifié. Notez que si la syntaxe de formule Excel R1C1 est sélectionnée (A1 définie sur FAUX ou 0) et que Feuille n'est ni omis ni une chaîne vide, alors ADRESSE renvoie une chaîne de texte utilisant un point d'exclamation (!) comme séparateur de feuille, au lieu du point (.) utilisé avec la syntaxe de formule Calc A1.

Les conditions suivantes peuvent être rencontrées :

  • Si Ligne n'est pas numérique, alors ADRESSE signale une erreur #VALEUR !.
  • Si Ligne est un nombre réel non entier, alors ADRESSE tronque la valeur à sa partie entière.
  • Dans la majorité des cas, après troncature, si Ligne réside en dehors de la plage 1 ≤ Lignemax (voir les tables ci-dessus), alors ADRESSE signale une erreur d'argument non valide (Err :502).
  • Toutefois, la plage de valeurs autorisée pour Ligne change si la syntaxe de formule Excel R1C1 est sélectionnée (A1 défini sur FAUX ou 0) et si l'adressage relatif de ligne est sélectionné (Abs défini sur 3, 4, 7 ou 8). Dans ces cas, des décalages de ligne négatifs peuvent être spécifiés (par exemple R[-1]C[1]).
  • Maintenant, après la troncature, si Ligne réside en dehors de la plage -(max-1) ≤ Ligne ≤ (max-1), ADRESSE signale une erreur d'argument non valide (Err :502).
  • De plus, la même erreur peut être signalée si une valeur dans cette plage semble faire référence à une ligne qui n'existe pas dans la feuille (par exemple, la formule =ADRESSE(-1; 1; 4; 0) placée dans la cellule A1 provoque Err :502 mais ne provoque aucune erreur lorsqu'elle est placée dans la cellule A2).
  • En d'autres termes, l'adresse absolue résultante doit toujours être valide, dans les limites normales pour Ligne de 1 ≤ Lignemax ; sinon une erreur est signalée.
  • Si Colonne n'est pas numérique, alors ADRESSE signale une erreur #VALEUR !.
  • Si Colonne est un nombre réel non entier, alors ADRESSE tronque la valeur à sa partie entière.
  • Dans la majorité des cas, après troncature, si Colonne réside en dehors de la plage 1 ≤ Colonnemax (voir les tables ci-dessus), alors ADRESSE signale une erreur d'argument non valide (Err :502).
  • Toutefois, la plage de valeurs autorisée pour Colonne change si la syntaxe de formule Excel R1C1 est sélectionnée (A1 défini sur FAUX ou 0) et si l'adressage relatif de la colonne est sélectionné (Abs défini sur 2, 4, 6 ou 8). Dans ces cas, des décalages de colonne négatifs peuvent être spécifiés (par exemple R[1]C[-1]).
  • Maintenant, après la troncature, si Colonne réside en dehors de la plage -(max-1) ≤ Colonne ≤ (max-1), ADRESSE signale une erreur d'argument non valide (Err :502).
  • De plus, la même erreur peut être signalée si une valeur dans cette plage semble faire référence à une colonne qui n'existe pas dans la feuille (par exemple, la formule =ADRESSE(1; -1; 4; 0) placée dans la cellule A1 provoque Err :502 mais ne provoque aucune erreur lorsqu'elle est placée dans la cellule B1).
  • En d'autres termes, l'adresse absolue résultante doit toujours être valide, dans les limites normales de la Colonne de 1 ≤ Colonnemax ; sinon une erreur est signalée.
  • Si Abs n'est pas numérique, alors ADRESSE signale une erreur #VALEUR !.
  • Si Abs est un nombre réel non entier, alors ADRESSE tronque la valeur à sa partie entière.
  • Après la troncature, si Abs réside en dehors de la plage 1 ≤ Abs ≤ 8, alors ADRESSE signale une erreur #VALEUR !.
  • Si A1 n'est pas numérique (et non logique), alors ADRESSE signale une erreur #VALEUR !.


Détails complémentaires :

  • La fonction ADRESSE renvoie une chaîne de texte, et non une référence réelle. Si la cellule "référencée" est effectivement déplacée (modifiant ainsi sa référence), la fonction ADRESSE ne dispose d'aucune méthode automatique pour en suivre la trace. La fonction ADRESSE construit la chaîne de texte résultante en fonction uniquement de ses propres arguments.
  • Les fonctions ADRESSE et INDIRECT de Calc sont étroitement liées. ADRESSE renvoie une référence de cellule sous forme de texte, qui peut être passée en argument à INDIRECT pour récupérer le contenu de la cellule référencée.
  • Si vous transmettez à INDIRECT une chaîne générée par ADRESSE, assurez-vous que les deux fonctions utilisent le même paramètre pour l'argument A1. Si les deux fonctions utilisent une syntaxe de formule différente, des erreurs peuvent survenir.
  • Dans les versions d'ODF antérieures à 1.2, la spécification de la fonction ADRESSE n'incluait pas l'argument A1 pour différencier la syntaxe de formule Calc A1 et Excel R1C1.
    • À l'ouverture d'un document enregistré au format ODF 1.0/1.1, les appels de fonction ADRESSE dont le quatrième argument est un nom de feuille seront décalés pour devenir le cinquième argument. Un quatrième argument de valeur 1 sera inséré pour sélectionner la syntaxe de formule par défaut Calc A1.
    • Lors de l'enregistrement d'un document au format ODF 1.0/1.1, le quatrième argument des appels de fonction ADRESSE est supprimé. Ainsi, tous les appels de fonction utilisant la syntaxe de formule Excel R1C1 reviendront à la syntaxe de formule par défaut Calc A1.
  • Microsoft Excel représente certaines références de cellules différemment de Calc ; cette fonction n'est donc pas toujours portable. Par exemple, la formule ADRESSE(1; 1; 4; ; "Feuille2") renvoie "Feuille2.A1" dans Calc, tandis que son équivalent dans Excel renvoie "Feuille2!A1".

Exemples :

Données à titre d'exemple
A B C D
1
2 4
3 3
4 4
5 0
6 Feuille2
7
8 'file:///C:/ma-feuille/mon-test.ods'#$Feuille1
Formule Description Renvoie
=ADRESSE(4; 3)

=ADRESSE(4; 3; 1; VRAI(); "")

Applique les paramètres par défaut pour les arguments Abs (1 : absolu) et A1 (VRAI : syntaxe de formule Calc A1).

Aucune valeur n'est fournie pour l'argument Feuille, donc aucune information de feuille n'est incluse dans la référence de cellule renvoyée.

$C$4
=ADRESSE(4; 3; ; ; "Feuille 2")

Les arguments Abs et A1 sont omis ; leurs paramètres par défaut sont donc à nouveau appliqués.

Une chaîne est fournie pour l'argument Feuille, afin que les informations de la feuille soient incluses dans la référence de cellule renvoyée.

Feuille2.$C$4
=ADRESSE(4; 3; 2; ; "Feuille2")

=ADRESSE(4; 3; 6; ; "Feuille2")

L'argument A1 est omis ; son paramètre par défaut est donc à nouveau appliqué. Avec l'argument Abs défini sur 2 ou 6, une référence de cellule est renvoyée, utilisant l'adressage absolu de ligne/relatif de colonne.

Feuille2.C$4
=ADRESSE(D2; D3; D4; D5; D6)

Tous les arguments sont présents et utilisent les valeurs stockées dans les cellules. Étant donné que l'argument A1 est défini sur 0, la fonction renvoie une référence de cellule basée sur la syntaxe de formule Excel R1C1.

Feuille2!R[4]C[3]
=ADRESSE(10; 5; 1; ; D8)

Renvoie une référence de cellule incluant un nom de fichier Windows et un nom de feuille de calcul, contenus dans la chaîne définie pour l'argument Feuille (contenu dans la cellule D8). Comme Abs est égal à 1, les arguments (R10C5) génèrent la chaîne $E10. Si la cellule $E10 de la feuille et du fichier spécifiés contient le nombre 123, la formule =INDIRECT(ADRESSE(10; 5; 1; ; D8)) renvoie la valeur 123.

'file:///C:/ma-feuille/mon-test.ods'#$Feuille1.$E$10

Fonctions LibreOffice associées :

CELLULE

COLONNE

INDIRECT

EQUIV

DECALER

LIGNE

Standard ODF :

Section 6.14.2, part 2

Fonctions Excel relatives (ou similaires) :

ADDRESS