INDIRECT

From The Document Foundation Wiki
Jump to: navigation, search


Renvoie une référence, une chaîne de texte étant donnée.

Syntaxe

INDIRECT(texte_ref)

texte_ref est une chaîne de texte spécifiant la référence devant être renvoyée ; la référence peut être à une cellule unique ou à une plage.
La référence peut aussi être utilisée dans une formule ou une fonction nécessitant une référence - voir les exemples ci-dessous.

Exemple

=INDIRECT("B2")

(dans une cellule) renvoie le contenu de la cellule B2. INDIRECT("B2") renvoie une référence à la cellule B2, c'est donc la même chose que =B2.

=INDIRECT("B" & "2")

renvoie aussi le contenu de la cellule B2. "B" & "2" devient la chaîne de texte "B2".

=SOMME(INDIRECT("A1:C3"))

renvoie la somme des nombres en A1:C3.

Voir également

ADRESSE

Fonctions classeur

Fonctions listées alphabétiquement, Fonctions listées par catégories

Issues

  • Excel représente certaines références de cellules différemment de Calc, cette fonction n'est donc pas toujours portable. Par exemple INDIRECT("Feuille2.A1") est valide dans Calc, mais dans Excel, la forme requise est INDIRECT("Feuille2!A1"). Une solution portable consisterait en INDIRECT(ADRESSE(1;1;4;"Feuille2")).
  • Excel permet un style de référence R1C1, cela fonctionne dans Calc à partir de la version OOo3.0 - voir i#91020.
  • Les cellules/plages nommées sont reconnues dans Calc à partir de la version OOo2.4 - voir i#4695.

Paramètre optionnel supplémentaire pour LibreOffice 3.x :

Pour des raisons d'interopérabilité, les fonctions de classeur ADRESSE et INDIRECT supportent maintenant un paramètre optionnel supplémentaire afin de spécifier si la notation d'adressage L1C1 est utilisée à la place de la notation A1 habituelle. Si la notation L1C1 n'est actuellement pas prise en charge par l'application, cela permet cependant aux feuilles de classeur importées de calculer la formule en utilisant cette notation.

Dans ADRESSE, le paramètre est _inséré_ comme le 4ème paramètre, renvoyant le paramètre facultatif de nom de feuille en 5ème position.

Dans INDIRECT, le paramètre est ajouté comme second paramètre.

Pour les deux fonctions, si l'argument est donné et 0, la notation R1C1 est utilisée, si l'argument n'est pas donné ou a une valeur autre que 0, la notation A1 est utilisée. Dans le cas de la notation R1C1, ADRESSE produit des chaînes d'adresse utilisant le point d'exclamation '!' comme séparateur de nom de feuille et INDIRECT attend le point d'exclamation comme séparateur de nom de feuille. Les deux fonctions utilisent toujours le point '.' séparateur de feuille de calcul dans la notation A1.

Lorsque l'on ouvre des documents stockés au format ODF 1.0 ou 1.1, une fonction ADRESSE apparaissant dans une feuille de calcul a un 4ème paramètre de valeur 1 inséré si le nom de feuille a été donné comme 4ème paramètre, le nom de feuille est alors renvoyé comme 5ème paramètre.

Lorsque l'on enregistre un document au format ODF 1.0/1.1, si un 4ème paramètre est présent dans une fonction ADRESSE, cette expression de paramètre sera retiré et non écrit.

REMARQUE ! Il y a incompatibilité si l'expression de l'argument est calculé avec 0, la fonction lorsque rechargée calculera un résultat différent ! Un document ne devrait pas être enregistré dans le format ODF 1.0/1.1 si le nouveau 4ème paramètre de la fonction ADRESSE est utilisé avec une valeur de 0.

La fonction INDIRECT est écrite comme pour le format 1.0/1.1 ; si le second paramètre était présent, une ancienne version de Calc renverrait une erreur pour cette fonction. C'est voulu, dans la mesure ou ADRESSE est habituellement utilisée en conjonction avec INDIRECT et lorsque enregistrée au format ODF 1.0/1.1, cette combinaison renverra très probablement une erreur lors du recalcul si la notation R1C1 a été utilisée.

Cette modification s'aligne avec le comportement des autres applications de classeur et la définition donnée dans la spécification de OASIS ODFF/OpenFormula disponible à http://www.oasis-open.org/committees/documents.php?wg_abbrev=office-formula

Heckert GNU white.svg

Content on this page is licensed under the Public Documentation License (PDL).