Activation d'une formule par la fonction INDIRECT

Le
d.sundow
Bonjour,

Le problème auquel je fais face est le suivant :

Saisir en :

A1 : 4

B1 : =REMPLACER(TEXTE(A1;"#0.00");NBCAR(TEXTE(A1;"#0.00"))-2;1;",")
(valeur présente en B1 : 4,00)

Il s'agit là d'une formule qui formate la cellule d'une manière assez
particulière.

Je dois arriver à exprimer cette formule via une chaîne, afin d'isoler
le 1 de A1 car je souhaite ultérieurement avoir une action
particulière et complémentaire à ces deux endroits de la formule :

B2 :
="REMPLACER(TEXTE(A"&1&";"&"""#0.00"""&");NBCAR(TEXTE(A"&1&";"&"""#0.00"""=
&"))"&-2&";"&1&";"&""","""&")"

En B2 on visualise la formule sous forme de chaîne alphanumérique; la
formule n'est bien sure pas activée.

Si je fait un copié-collé-valeur (attention valider avec esc/enter
pour récupérer la chaîne de caractères et non la formule initiale) d=
e
la cellule B2 en B3; la cellule B3 prend la forme de la formule
présente en B1(sans le = devant donc on la visualise en toutes
lettres).

Si toujours en B3 je rajoute un = devant cette formule elle s'active
et est en tout point semblable à la formule placée en B1. Ceci nous
démontre que la chaîne tapée est correcte (en tout cas qu'elle
contient tous les éléments).

Maintenant si j'essaye d'activer la formule avec la fonction
INDIRECT :

=INDIRECT("REMPLACER(TEXTE(A"&1&";"&"""#0.00"""&");NBCAR(TEXTE(A"&1&";"&""=
"#0.00"""&"))"&-2&";"&1&";"&""","""&")")
le résultat n'est pas 4,00 mais #REF!.

Quelqu'un pourrait-il m'aider. De toute évidence il faut positionner
la fonction INDIRECT d'une manière que mes multiples et infructueux
essais ne m'ont pas dévoilés.

D'avance un grand merci - sundow
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #5445131
bonjour sundow,

l'argument de la fonction INDIRECT doit etre une adresse,
je ne comprend pas ce que tu veut faire exactement
veut tu passer l'adresse A1 en variable ou peut etre seulement le no. de
ligne en variable ?

isabelle

Bonjour,

Le problème auquel je fais face est le suivant :

Saisir en :

A1 : 4

B1 : =REMPLACER(TEXTE(A1;"#0.00");NBCAR(TEXTE(A1;"#0.00"))-2;1;",")
(valeur présente en B1 : 4,00)

Il s'agit là d'une formule qui formate la cellule d'une manière assez
particulière.

Je dois arriver à exprimer cette formule via une chaîne, afin d'isoler
le 1 de A1 car je souhaite ultérieurement avoir une action
particulière et complémentaire à ces deux endroits de la formule :

B2 :
="REMPLACER(TEXTE(A"&1&";"&"""#0.00"""&");NBCAR(TEXTE(A"&1&";"&"""#0.00"""&"))"&-2&";"&1&";"&""","""&")"

En B2 on visualise la formule sous forme de chaîne alphanumérique; la
formule n'est bien sure pas activée.

Si je fait un copié-collé-valeur (attention valider avec esc/enter
pour récupérer la chaîne de caractères et non la formule initiale) de
la cellule B2 en B3; la cellule B3 prend la forme de la formule
présente en B1(sans le = devant donc on la visualise en toutes
lettres).

Si toujours en B3 je rajoute un = devant cette formule elle s'active
et est en tout point semblable à la formule placée en B1. Ceci nous
démontre que la chaîne tapée est correcte (en tout cas qu'elle
contient tous les éléments).

Maintenant si j'essaye d'activer la formule avec la fonction
INDIRECT :

=INDIRECT("REMPLACER(TEXTE(A"&1&";"&"""#0.00"""&");NBCAR(TEXTE(A"&1&";"&"""#0.00"""&"))"&-2&";"&1&";"&""","""&")")
le résultat n'est pas 4,00 mais #REF!.

Quelqu'un pourrait-il m'aider. De toute évidence il faut positionner
la fonction INDIRECT d'une manière que mes multiples et infructueux
essais ne m'ont pas dévoilés.

D'avance un grand merci - sundow


d.sundow
Le #5444431
l'argument de la fonction INDIRECT doit etre une adresse,
je ne comprend pas ce que tu veut faire exactement
veut tu passer l'adresse A1 en variable ou peut etre seulement le no. de
ligne en variable ?

isabelle


Bonjour Isabelle,

Excuse-moi pour ma réponse tardive, il m'était impossible de te
répondre plus tôt.

L'information donnée dans ta première ligne est en fait la réponse à
ma question. Je m'étais complètement fourvoyer.

Il s'agissait en définitive de pouvoir isolé le no de ligne afin de
pouvoir le remplacer par une formule générant une suite par pas de
deux, ce qui avait pu faire l'objet d'une de mes questions
précédentes.

Pour ceux que éventuellement ça intéresse :

Si tu tires en A une série de nombres (2,4,6,.. p.ex.)

et qu'en B2 tu introduis la formule suivante (et qui contient cette
fois le INDIRECT correctement positionné) :

=REMPLACER(TEXTE(INDIRECT("A"&(ENT((LIGNE()-1)/
3)+1)*4-3);"#0.00");NBCAR(TEXTE(INDIRECT("A"&(ENT((LIGNE()-1)/
3)+1)*4-3);"#0.00"))-2;1;",")

En tirant cette formule il est possible de générer une suite doublée à
un format particulier.

Cette question est donc résolue, merci beaucoup Isabelle.

Très bonne journée à tous - sundow

Publicité
Poster une réponse
Anonyme