Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Faire calculer une cellule au format texte

16 réponses
Avatar
Pierre F.
Bonjour toutes et tous, canes et canards :-)

dans la colonne B, j'ai des nombres et des op=E9rations en format texte

Exemple pour B6:

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

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

J'ai essay=E9
=3DSTXT(B6;2;NBCAR(B6)-6), mais cela ne me permet que d'=E9liminer les po=
ints=20
de suspension et le "=3D" final, pas de "calculer"


J'ai tent=E9 une macro mais elle se plante d=E8s la seconde ligne:

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

Que me manque-t-il?

Merci.
Pierre F.

10 réponses

1 2
Avatar
isabelle
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.


Avatar
Pierre F.
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.
Avatar
isabelle
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.


Avatar
Pierre F.
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.
Avatar
michdenis
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." a écrit dans le message de groupe de discussion :
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.
Avatar
Pierre F.
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.
Avatar
michdenis
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." a écrit dans le message de groupe de discussion :
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.
Avatar
Pierre F.
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.
Avatar
michdenis
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." a écrit dans le message de groupe de discussion :
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.
Avatar
Pierre F.
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.
1 2