Activation d'une formule par la fonction INDIRECT

Le
d.sundow
Bonjour,

Le problme 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 prsente en B1 : 4,00)

Il s'agit l d'une formule qui formate la cellule d'une manire assez
particulire.

Je dois arriver exprimer cette formule via une chane, afin d'isoler
le 1 de A1 car je souhaite ultrieurement avoir une action
particulire et complmentaire 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 chane alphanumrique; la
formule n'est bien sure pas active.

Si je fait un copi-coll-valeur (attention valider avec esc/enter
pour rcuprer la chane de caractres et non la formule initiale) d=
e
la cellule B2 en B3; la cellule B3 prend la forme de la formule
prsente 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 place en B1. Ceci nous
dmontre que la chane tape est correcte (en tout cas qu'elle
contient tous les lments).

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 rsultat n'est pas 4,00 mais #REF!.

Quelqu'un pourrait-il m'aider. De toute vidence il faut positionner
la fonction INDIRECT d'une manire que mes multiples et infructueux
essais ne m'ont pas dvoils.

D'avance un grand merci - sundow
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