Fonction CNUM

Le
josephb
Bonjour à toutes et tous

Excel 98/Mac

en D2 le texte
105 ; 140 ; 41

en E2 la formule
=SUBSTITUE(D2;" ; ";"+") --> 105+140+41 (texte)

en F2 la formule

=CNUM(E2) --> #VALEUR! alors que j'aurais bien aimé 286 ;-)

Encore

E2 formule
=SUBSTITUE(D2;" ; ";"") --> 10514041 --> F2 --> 10514041 (nombre)

En E2
SUBSTITUE(D2;" ; ";" ") --> 105 140 41 --> F2 --> #VALEUR!

une parade à ce comportement ?

Merci de vos lumières



--
J. B.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Caetera
Le #20181221
> en D2 le texte
105 ; 140 ; 41
en E2 la formule
=SUBSTITUE(D2;" ; ";"+") --> 105+140+41 (texte)
en F2 la formule
=CNUM(E2) --> #VALEUR! alors que j'aurais bien aimé 286 ;-)
E2 formule
=SUBSTITUE(D2;" ; ";"") --> 10514041 --> F2 --> 10514041 (nombre)
En E2
SUBSTITUE(D2;" ; ";" ") --> 105 140 41 --> F2 --> #VALEUR!
une parade à ce comportement ?



Y a pas de "comportement" mais une méconnaissance des fondamentaux....

Dans un module :

Function EVALU(expression)
EVALU = Evaluate(expression)
End Function

Dans la feuille de calcul :
=EVALU("=" &E2)

Etc
Caetera
Le #20181211
En machant un peu plus au cas où....

=EVALU("=" &SUBSTITUE(C2;" ; ";"+"))

Etc
michdenis
Le #20181201
Bonjour Joseph,

Dans le même sens que la proposition faite par Caetera

dans un module standard :
'------------------------------------
Function Eval(Rg As Range)
Eval = Evaluate(Replace(Rg, ";", "+"))
End Function
'------------------------------------

et dans ta cellule : = Eval(D2)



"Joseph B." 1j6anxw.9v6z5qtmhd88N%
Bonjour à toutes et tous

Excel 98/Mac

en D2 le texte
105 ; 140 ; 41

en E2 la formule
=SUBSTITUE(D2;" ; ";"+") --> 105+140+41 (texte)

en F2 la formule

=CNUM(E2) --> #VALEUR! alors que j'aurais bien aimé 286 ;-)

Encore

E2 formule
=SUBSTITUE(D2;" ; ";"") --> 10514041 --> F2 --> 10514041 (nombre)

En E2
SUBSTITUE(D2;" ; ";" ") --> 105 140 41 --> F2 --> #VALEUR!

une parade à ce comportement ?

Merci de vos lumières



--
J. B.
isabelle
Le #20181581
bonjour Joseph,

=EVAL(SUBSTITUE(D2;" ; ";"+"))

isabelle

Joseph B. a écrit :
Bonjour à toutes et tous

Excel 98/Mac

en D2 le texte
105 ; 140 ; 41

en E2 la formule
=SUBSTITUE(D2;" ; ";"+") --> 105+140+41 (texte)

en F2 la formule

=CNUM(E2) --> #VALEUR! alors que j'aurais bien aimé 286 ;-)

Encore

E2 formule
=SUBSTITUE(D2;" ; ";"") --> 10514041 --> F2 --> 10514041 (nombre)

En E2
SUBSTITUE(D2;" ; ";" ") --> 105 140 41 --> F2 --> #VALEUR!

une parade à ce comportement ?

Merci de vos lumières






isabelle
Le #20181741
ps/ oups, c'est une fonction de Morefunc

isabelle

isabelle a écrit :
bonjour Joseph,

=EVAL(SUBSTITUE(D2;" ; ";"+"))

isabelle

Joseph B. a écrit :
Bonjour à toutes et tous

Excel 98/Mac

en D2 le texte
105 ; 140 ; 41

en E2 la formule =SUBSTITUE(D2;" ; ";"+") --> 105+140+41 (texte)

en F2 la formule

=CNUM(E2) --> #VALEUR! alors que j'aurais bien aimé 286 ;-)

Encore

E2 formule
=SUBSTITUE(D2;" ; ";"") --> 10514041 --> F2 --> 10514041 (nombre)

En E2
SUBSTITUE(D2;" ; ";" ") --> 105 140 41 --> F2 --> #VALEUR!
une parade à ce comportement ?

Merci de vos lumières








FS
Le #20184171
Bonsoir,

Si on veut se passer de macro, il y a aussi (avec le texte à travailler
en A1) :

=SOMME(GAUCHE(A1;TROUVE("
;";A1;1))*1;STXT(A1;TROUVE(";";A1;1)+2;TROUVE(";";A1;TROUVE(";";A1;1))-2)*1;DROITE(A1;NBCAR(A1)-NBCAR(GAUCHE(A1;TROUVE("
;";A1;1)))-NBCAR(STXT(A1;TROUVE(";";A1;1)+2;TROUVE(";";A1;TROUVE(";";A1;1))-2))-5)*1)

(le tout sur une seule ligne bien sûr).
Evidemment c'est moins concis qu'une ligne de code :)

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Joseph B. a écrit :
Bonjour à toutes et tous

Excel 98/Mac

en D2 le texte
105 ; 140 ; 41

en E2 la formule
=SUBSTITUE(D2;" ; ";"+") --> 105+140+41 (texte)

en F2 la formule

=CNUM(E2) --> #VALEUR! alors que j'aurais bien aimé 286 ;-)

Encore

E2 formule
=SUBSTITUE(D2;" ; ";"") --> 10514041 --> F2 --> 10514041 (nombre)

En E2
SUBSTITUE(D2;" ; ";" ") --> 105 140 41 --> F2 --> #VALEUR!

une parade à ce comportement ?

Merci de vos lumières





michdenis
Le #20184331
Bonjour Frédéric,

Après un copier-coller, j'obtiens #Valeur!
Serais-je le seul ?
;-)

Salutations



"FS" eqn#
Bonsoir,

Si on veut se passer de macro, il y a aussi (avec le texte à travailler
en A1) :

=SOMME(GAUCHE(A1;TROUVE("
;";A1;1))*1;STXT(A1;TROUVE(";";A1;1)+2;TROUVE(";";A1;TROUVE(";";A1;1))-2)*1;DROITE(A1;NBCAR(A1)-NBCAR(GAUCHE(A1;TROUVE("
;";A1;1)))-NBCAR(STXT(A1;TROUVE(";";A1;1)+2;TROUVE(";";A1;TROUVE(";";A1;1))-2))-5)*1)

(le tout sur une seule ligne bien sûr).
Evidemment c'est moins concis qu'une ligne de code :)

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Joseph B. a écrit :
Bonjour à toutes et tous

Excel 98/Mac

en D2 le texte
105 ; 140 ; 41

en E2 la formule
=SUBSTITUE(D2;" ; ";"+") --> 105+140+41 (texte)

en F2 la formule

=CNUM(E2) --> #VALEUR! alors que j'aurais bien aimé 286 ;-)

Encore

E2 formule
=SUBSTITUE(D2;" ; ";"") --> 10514041 --> F2 --> 10514041 (nombre)

En E2
SUBSTITUE(D2;" ; ";" ") --> 105 140 41 --> F2 --> #VALEUR!

une parade à ce comportement ?

Merci de vos lumières





FS
Le #20184421
Non, moi aussi.
La chaine à rechercher dans le 1er et le 5ème TROUVE est
" ;"
et non
";"
Problème de copie dans le courrielleur :)

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

michdenis a écrit :
Bonjour Frédéric,

Après un copier-coller, j'obtiens #Valeur!
Serais-je le seul ?
;-)

Salutations



"FS" eqn#
Bonsoir,

Si on veut se passer de macro, il y a aussi (avec le texte à travailler
en A1) :

=SOMME(GAUCHE(A1;TROUVE("
;";A1;1))*1;STXT(A1;TROUVE(";";A1;1)+2;TROUVE(";";A1;TROUVE(";";A1;1))-2)*1;DROITE(A1;NBCAR(A1)-NBCAR(GAUCHE(A1;TROUVE("
;";A1;1)))-NBCAR(STXT(A1;TROUVE(";";A1;1)+2;TROUVE(";";A1;TROUVE(";";A1;1))-2))-5)*1)

(le tout sur une seule ligne bien sûr).
Evidemment c'est moins concis qu'une ligne de code :)

FS


josephb
Le #20184701
Bonjour Caetera

Caetera
En machant un peu plus au cas où....

=EVALU("=" &SUBSTITUE(C2;" ; ";"+"))



Parfait.
Et merci pour ton apport très pédagogique.
--
J. B.
josephb
Le #20184681
Bonsoir Isabelle,

isabelle wrote:

ps/ oups, c'est une fonction de Morefunc



Excel 97/98... Excel 2007
Bah, oui j'imagine que c'est frustrant d'essayer d'aider un dinosaure a
sortir de son marécage ;-))
Mais j'apprécie ton geste et j'apprends aussi de tes autres
interventions sur le forum.

Cordialement.

--
J. B.
Publicité
Poster une réponse
Anonyme