Faire calculer une cellule au format texte

Le
Pierre F.
Bonjour toutes et tous, canes et canards :-)

dans la colonne B, j'ai des nombres et des opérations en format texte

Exemple pour B6:

-16 + 3 + 4 - 12 + 7 =

Je souhaiterais que dans la colonne C, je puisse afficher le résultat d=
u
calcul.

J'ai essayé
=STXT(B6;2;NBCAR(B6)-6), mais cela ne me permet que d'éliminer les po=
ints
de suspension et le "=" final, pas de "calculer"


J'ai tenté une macro mais elle se plante dès la seconde ligne:

Cells(6, 3) = Left(Cells(6, 2), Len(Cells(6, 2) - 6))

Que me manque-t-il?

Merci.
Pierre F.
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
isabelle
Le #22559171
bonjour Pierre,

x = Evaluate(Split(Range("B6"), "=")(0))

isabelle



Le 2010-09-10 18:21, Pierre F. a écrit :
Bonjour toutes et tous, canes et canards :-)

dans la colonne B, j'ai des nombres et des opérations en format texte

Exemple pour B6:

-16 + 3 + 4 - 12 + 7 = ...

Je souhaiterais que dans la colonne C, je puisse afficher le résultat du
calcul.

J'ai essayé
=STXT(B6;2;NBCAR(B6)-6), mais cela ne me permet que d'éliminer les
points de suspension et le "=" final, pas de "calculer"


J'ai tenté une macro mais elle se plante dès la seconde ligne:

Cells(6, 3) = Left(Cells(6, 2), Len(Cells(6, 2) - 6))

Que me manque-t-il?

Merci.
Pierre F.


Pierre F.
Le #22559371
Le 11.09.2010 02:38, isabelle a écrit :
bonjour Pierre,

x = Evaluate(Split(Range("B6"), "=")(0))



Merci pour cette réponse.

J'avais aussi essayé la fonction "Evaluer"; mais elle était "invalide ".

Intégrée dans une petite macro, cette ligne fait parfaitement mon bon heur!

Merci!!!

Cordialement,
Pierre F.
isabelle
Le #22559621
bonjour Pierre,

sur la feuille de calcul la formulle serait:
=EVAL(GAUCHE(B6;CHERCHE("=";B6)-1))

isabelle

Le 2010-09-11 03:05, Pierre F. a écrit :
Le 11.09.2010 02:38, isabelle a écrit :
bonjour Pierre,

x = Evaluate(Split(Range("B6"), "=")(0))



Merci pour cette réponse.

J'avais aussi essayé la fonction "Evaluer"; mais elle était "invalide".

Intégrée dans une petite macro, cette ligne fait parfaitement mon bonheur!

Merci!!!

Cordialement,
Pierre F.


Pierre F.
Le #22559991
Le 11.09.2010 10:52, isabelle a écrit :
bonjour Pierre,

sur la feuille de calcul la formule serait:
=EVAL(GAUCHE(B6;CHERCHE("=";B6)-1))




Merci, c'est super!!
Deux pour le prix d'une :-)

La solution "formule" me plaît davantage que la macro pour le cas où le
fichier est utilisé par d'autres personnes ayant une sécurité forte sur
Excel et ses macros.

Génial.

Cordialement,
Pierre F.
michdenis
Le #22560251
Bonjour,

Une alternative...

Tu crées un "NOM" (menu insertion / nom / définir

Le nom : Eva
fait référence à : =EVALUATE(MID(Sheet2!$A1;1;FIND("=";Sheet2!$A1;1)-1))

En français :
fait référence à : =EVALUER(STXT(FEUIL1!$A1;1;TROUVE("=";FEUIL1!$A1;1)-1))
(Attention au signe $ dans l'adresse de la cellule.

Et en colonne C, tu écris : =Eva que tu recopies sur le nombre de lignes nécessaires...

--
MichD
--------------------------------------------


"Pierre F." ab8af$4c8aaf82$55da2580$
Bonjour toutes et tous, canes et canards :-)

dans la colonne B, j'ai des nombres et des opérations en format texte

Exemple pour B6:

-16 + 3 + 4 - 12 + 7 = ...

Je souhaiterais que dans la colonne C, je puisse afficher le résultat du
calcul.

J'ai essayé
=STXT(B6;2;NBCAR(B6)-6), mais cela ne me permet que d'éliminer les points
de suspension et le "=" final, pas de "calculer"


J'ai tenté une macro mais elle se plante dès la seconde ligne:

Cells(6, 3) = Left(Cells(6, 2), Len(Cells(6, 2) - 6))

Que me manque-t-il?

Merci.
Pierre F.
Pierre F.
Le #22560581
Le 11.09.2010 13:13, michdenis a écrit :

Une alternative...

Tu crées un "NOM" (menu insertion / nom / définir

Le nom : Eva
fait référence à : =EVALUATE(MID(Sheet2!$A1;1;FIND("=";Sheet2 !$A1;1)-1))

En français :
fait référence à : =EVALUER(STXT(FEUIL1!$A1;1;TROUVE("=";FEUI L1!$A1;1)-1))
(Attention au signe $ dans l'adresse de la cellule.

Et en colonne C, tu écris : =Eva que tu recopies sur le nombr e de lignes nécessaires...




Merci, c'est incroyable!!
Trois pour le prix d'une :-)

Magnifique.
Du coup, j'ai utilisé la formule d'Isabelle dans la première de mes
colonnes et la tienne dans la seconde :-).
(j'ai gardé la macro en réserve)

Cordialement,
Pierre F.
michdenis
Le #22561101
Comme dans la donne initiale de ton problème,

Si tu veux calculer le contenu de la colonne B qui contient
des chaînes de caractères de ce type :

Exemple pour B6:
-16 + 3 + 4 - 12 + 7 = ...

La proposition que je t'ai faite est suffisante pour obtenir directement le résultat.
En fait, tu dois dans la formule adapter le A pour le B ainsi que le nom de la feuille.
Je ne comprends pas tu dois utiliser 2 formules... quelque chose m'échappe !



--
MichD
--------------------------------------------


"Pierre F." 5bb22$4c8b97a2$55da2580$
Le 11.09.2010 13:13, michdenis a écrit :

Une alternative...

Tu crées un "NOM" (menu insertion / nom / définir

Le nom : Eva
fait référence à : =EVALUATE(MID(Sheet2!$A1;1;FIND("=";Sheet2!$A1;1)-1))

En français :
fait référence à : =EVALUER(STXT(FEUIL1!$A1;1;TROUVE("=";FEUIL1!$A1;1)-1))
(Attention au signe $ dans l'adresse de la cellule.

Et en colonne C, tu écris : =Eva que tu recopies sur le nombre de lignes nécessaires...




Merci, c'est incroyable!!
Trois pour le prix d'une :-)

Magnifique.
Du coup, j'ai utilisé la formule d'Isabelle dans la première de mes
colonnes et la tienne dans la seconde :-).
(j'ai gardé la macro en réserve)

Cordialement,
Pierre F.
Pierre F.
Le #22561361
Le 11.09.2010 22:02, michdenis a écrit :

Exemple pour B6:
-16 + 3 + 4 - 12 + 7 = ...

La proposition que je t'ai faite est suffisante pour obtenir directemen t le résultat.
En fait, tu dois dans la formule adapter le A pour le B ainsi que le no m de la feuille.
Je ne comprends pas tu dois utiliser 2 formules... quelque chose m'éc happe !



Non non tout va bien;
En réalité j'ai 2 colonnes de 20 calculs chacune (en B et en D)
Mais j'essaie d'apprendre un peu dans excel et il se trouve que pour
répondre à ma question, 3 solutions m'ont été proposées.

a) une ligne (Isabelle) à inclure dans une macro qui me place les rép onses
à côté des question
b) une formule (=EVAL(GAUCHE(B6;CHERCHE("=";B6)-1)) ) qui me donne
directement la réponse
c) ta solution qui allie une formule à un nom à définir

Pour me souvenir que ces solutions existent, j'ai choisi, dans mon
fichier, d'utiliser les deux réponses proposant une formule, à savoir ta
réponse que j'ai placée dans la colonne C et celle d'Isabelle dans la
colonne E.
Bien sûr que l'une ou l'autre suffisaient. C'est juste pour garder
concrètement vos réponses que j'ai fait ce 2partage".

Merci.

Cordialement,
Pierre F.
michdenis
Le #22561491
OK, tout est parfait!

La fonction "Eval" n'appartient pas à Excel. Tu as installé
la macro complémentaire de Laurent Longre : "Morefunc"

--
MichD
--------------------------------------------


"Pierre F." 6f770$4c8bf8bb$55da2580$
Le 11.09.2010 22:02, michdenis a écrit :

Exemple pour B6:
-16 + 3 + 4 - 12 + 7 = ...

La proposition que je t'ai faite est suffisante pour obtenir directement le résultat.
En fait, tu dois dans la formule adapter le A pour le B ainsi que le nom de la feuille.
Je ne comprends pas tu dois utiliser 2 formules... quelque chose m'échappe !



Non non tout va bien;
En réalité j'ai 2 colonnes de 20 calculs chacune (en B et en D)
Mais j'essaie d'apprendre un peu dans excel et il se trouve que pour
répondre à ma question, 3 solutions m'ont été proposées.

a) une ligne (Isabelle) à inclure dans une macro qui me place les réponses
à côté des question
b) une formule (=EVAL(GAUCHE(B6;CHERCHE("=";B6)-1)) ) qui me donne
directement la réponse
c) ta solution qui allie une formule à un nom à définir

Pour me souvenir que ces solutions existent, j'ai choisi, dans mon
fichier, d'utiliser les deux réponses proposant une formule, à savoir ta
réponse que j'ai placée dans la colonne C et celle d'Isabelle dans la
colonne E.
Bien sûr que l'une ou l'autre suffisaient. C'est juste pour garder
concrètement vos réponses que j'ai fait ce 2partage".

Merci.

Cordialement,
Pierre F.
Pierre F.
Le #22561531
Le 12.09.2010 01:18, michdenis a écrit :
OK, tout est parfait!

La fonction "Eval" n'appartient pas à Excel. Tu as installé
la macro complémentaire de Laurent Longre : "Morefunc"




OK; c'est exact.
Merci pour l'info; c'est effectivement un problème quand le fichier cha nge
de poste et se trouve chez quelqu'un qui n'a pas Morefunc.

Cordialement,
Pierre F.
Publicité
Poster une réponse
Anonyme