OVH Cloud OVH Cloud

Fonction INDIRECT

4 réponses
Avatar
Lambert Jean-Marie
Bonjour,

Dans la cellule A1 de ma feuille, j'ai indiqué B1; en B1, j'ai indiqué 100.

Quelqu'un peut-il me dire pourquoi, si j'indique :
=INDIRECT(A1) j'obtiens 100 ou
=INDIRECT("A1"), j'obtiens B1 ?

Merci pour votre aide.

4 réponses

Avatar
Ellimac
Bonjour,

Tiré de l'aide :
Lorsque vous créez une formule qui fait référence à une
cellule, la référence à la cellule est mise à jour si la
cellule concernée est supprimée à l'aide de la commande
Couper ou si la cellule est déplacée suite à l'insertion
ou à la suppression de lignes ou de colonnes. Si vous
souhaitez que la formule fasse toujours référence à la
même cellule, même si la ligne au-dessus de la cellule est
supprimée ou si la cellule est déplacée, utilisez la
fonction de feuille de calcul INDIRECT. Par exemple, pour
faire référence à la cellule A10, utilisez la syntaxe
suivante :

INDIRECT("A10")

Camille

-----Message d'origine-----
Bonjour,

Dans la cellule A1 de ma feuille, j'ai indiqué B1; en B1,
j'ai indiqué 100.


Quelqu'un peut-il me dire pourquoi, si j'indique :
=INDIRECT(A1) j'obtiens 100 ou
=INDIRECT("A1"), j'obtiens B1 ?

Merci pour votre aide.


.



Avatar
Michel Gaboly
Bonjour,

Dans le premier cas tu fournis une référence de cellule, dans le
second, une chaîne de caractères

http://www.gaboly.com/Excel/Chaine.html

La première indirection a donc comme argument le contenu de la
cellule A1, qui est "B1". Comme il s'agit d'une indirection, la fonc-
tion évalue le contenu de la cellule indiquée.

=INDIRECT(A1) équivaut ici à ± (ou comme nous allons le
voir) à =INDIRECT("B1")


La seconde indirection évalue la chaîne de caractères "A1"; il s'agit
d'une référence de cellule, laquelle est évaluée : =INDIRECT("A1")
correspond en fait à ¡


On peut le vérifier en remplaçant A1 par B1 dans les formules :

=INDIRECT("B1") renvoie 100 (contenu de B1)
=INDIRECT(B1) aboutit à #REF! car le contenu de B1, 100 n'est
pas une référence de cellule.

Je ne suis pas sûr que ce soit immédiatement limpide ;-(((
mais au pire, avec un peu de réflexion, cela devrait finir par
s'éclaircir ;-))



Bonjour,

Dans la cellule A1 de ma feuille, j'ai indiqué B1; en B1, j'ai indiqué 100.

Quelqu'un peut-il me dire pourquoi, si j'indique :
=INDIRECT(A1) j'obtiens 100 ou
=INDIRECT("A1"), j'obtiens B1 ?

Merci pour votre aide.


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
Lambert Jean-Marie
Bonjour,

Merci pour cette explication qui répond parfaitement à ma question.

A bientôt,

Jean-Marie.



"Michel Gaboly" a écrit dans le message de
news:
Bonjour,

Dans le premier cas tu fournis une référence de cellule, dans le
second, une chaîne de caractères

http://www.gaboly.com/Excel/Chaine.html

La première indirection a donc comme argument le contenu de la
cellule A1, qui est "B1". Comme il s'agit d'une indirection, la fonc-
tion évalue le contenu de la cellule indiquée.

=INDIRECT(A1) équivaut ici à ± (ou comme nous allons le
voir) à =INDIRECT("B1")


La seconde indirection évalue la chaîne de caractères "A1"; il s'agit
d'une référence de cellule, laquelle est évaluée : =INDIRECT("A1")
correspond en fait à ¡


On peut le vérifier en remplaçant A1 par B1 dans les formules :

=INDIRECT("B1") renvoie 100 (contenu de B1)
=INDIRECT(B1) aboutit à #REF! car le contenu de B1, 100 n'est
pas une référence de cellule.

Je ne suis pas sûr que ce soit immédiatement limpide ;-(((
mais au pire, avec un peu de réflexion, cela devrait finir par
s'éclaircir ;-))



Bonjour,

Dans la cellule A1 de ma feuille, j'ai indiqué B1; en B1, j'ai indiqué
100.



Quelqu'un peut-il me dire pourquoi, si j'indique :
=INDIRECT(A1) j'obtiens 100 ou
=INDIRECT("A1"), j'obtiens B1 ?

Merci pour votre aide.


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





Avatar
Michel Gaboly
De rien, c'était avec plaisir.

À bientôt.



Bonjour,

Merci pour cette explication qui répond parfaitement à ma question.

A bientôt,

Jean-Marie.

"Michel Gaboly" a écrit dans le message de
news:
Bonjour,

Dans le premier cas tu fournis une référence de cellule, dans le
second, une chaîne de caractères

http://www.gaboly.com/Excel/Chaine.html

La première indirection a donc comme argument le contenu de la
cellule A1, qui est "B1". Comme il s'agit d'une indirection, la fonc-
tion évalue le contenu de la cellule indiquée.

=INDIRECT(A1) équivaut ici à ± (ou comme nous allons le
voir) à =INDIRECT("B1")


La seconde indirection évalue la chaîne de caractères "A1"; il s'agit
d'une référence de cellule, laquelle est évaluée : =INDIRECT("A1")
correspond en fait à ¡


On peut le vérifier en remplaçant A1 par B1 dans les formules :

=INDIRECT("B1") renvoie 100 (contenu de B1)
=INDIRECT(B1) aboutit à #REF! car le contenu de B1, 100 n'est
pas une référence de cellule.

Je ne suis pas sûr que ce soit immédiatement limpide ;-(((
mais au pire, avec un peu de réflexion, cela devrait finir par
s'éclaircir ;-))



Bonjour,

Dans la cellule A1 de ma feuille, j'ai indiqué B1; en B1, j'ai indiqué
100.



Quelqu'un peut-il me dire pourquoi, si j'indique :
=INDIRECT(A1) j'obtiens 100 ou
=INDIRECT("A1"), j'obtiens B1 ?

Merci pour votre aide.


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





--
Cordialement,

Michel Gaboly
http://www.gaboly.com