Bonsoir,
christianwtd a écrit :
philippe L a écrit :
Bonsoir,

Le 8 mai 2008 18:39, christianwtd <[EMAIL PROTECTED]> a écrit :
philippe L a écrit :



RE,

Le 8 mai 2008 15:58, Jean-Baptiste Faure <[EMAIL PROTECTED]> a écrit :


Le Jeudi 8 May 2008 15:48, Apha de ptilou a écrit :




Bonjour,


 >
 > Voila ma "fonction":
 > =((E12-B12)/(B12/100))
 > B12=60
 > E12=66.68
 > sa me renvoi -100, ?! :-(
 > alors que j'aurais voulu 11,13
 > E12=E2, qui est une cellule mis à jour via un lien http.
 >
 > On peut pas écrire autrement (b12/100) ?

 Il y a vraiment un point dans E12 ? Si c'est la cas Calc l'interprète
comme du
texte. Il faut formater la cellule en lui affectant la langue anglaise
pour
 que le séparateur décimal point soit correctement interprété.



Boursorama l'écrit 66.68 EUR, voila l'erreur ...
Mais en plus la feuille ne met pas les cellule à jour, c'est HS mais
comment trouver la bonne adresse ou le bon tableau ?
J'ai parcouru les sources de la page HTML, les liens se font via un
script (javascript) ...
( y a pas une clés ou un coockies de session ? )



 Sinon b12/100 c'est très bien comme ça.



Je pensais que % pouvais être plus simple dans la fonction, où puis je
trouver des exemple ?

Merci

Ptilou


 Bonjour Philippe,

 Il faut remplacer le point par la virgule. Donc (sans transformer ta
formule de base) :
 =((CNUM(SUBSTITUE(E12; "."; ","))-B12)/(B12/100))
 Pour détailler :
 CNUM(SUBSTITUE(E12; "."; ","))
On remplace le point par la virgule, puis on transforme le texte en valeur
via CNUM


Donne Err 502 ou 520 même avec ça :
=((CNUM(SUBSTITUE(E12; "."; ","))-(CNUM(SUBSTITUE(B12; ".";
","))/((CNUM(SUBSTITUE(B12; "."; ",")/100))))))
Ce que tu écris, c'est :
Voila ma "fonction":
=((E12-B12)/(B12/100))
B12=60
E12=66.68
sa me renvoi -100, ?! :-(
alors que j'aurais voulu 11,13

Oui, c'est normal. Le nombre 66.68 (pour OOo francophone au moins) est considéré comme un texte et non comme nombre. Du coup il est interprété dans une évaluation comme étant une valeur = 0

Ce que je propose, c'est :
=((CNUM(SUBSTITUE(E12; "."; ","))-B12)/(B12/100))
Je ne fais rien d'autre que remplacer E12 par CNUM(SUBSTITUE(E12; "."; ","))
et pour moi, ça marche


Oui, c'est une bonne transformation. Toutefois la conversion en numérique (CNUM) est redondante avec la substitution du point. Dès lors que le littéral est transformé, la donnée numérique est bien interprétée.

Bon surf,
Christian


Francois Gatto


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à