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.

6 réponses

1 2
Avatar
Paul GROLLERON
Bonjour (ou bonsoir),

Au risque de passer pour un béotien, je n'ai pas trouvé la fonction EVAL
dans EXCEL 2007 (pécé) ni dans EXCEL 2008 (Mac). S'agit-il d'une
fonction "cachée" comme DATEDIF ?

Merci Isabelle (ou tout autre contributeur) de m'affranchir de cette
ignorance.


In article (Dans l'article) <i6fg0c$eab$,
isabelle wrote (écrivait) :

bonjour Pierre,

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

isabelle
Avatar
michdenis
Bonjour,

La fonction "Eval" fait partie de la macro complémentaire "MoreFunc" de Laurent Longre
que tu peux télécharger et installer à cette adresse. D'ailleurs l'installation de celle-ci
ajoute plusieurs fonctions dont la liste est sur le site internet suivant : http://xcell05.free.fr/

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


"Paul GROLLERON" a écrit dans le message de groupe de discussion :

Bonjour (ou bonsoir),

Au risque de passer pour un béotien, je n'ai pas trouvé la fonction EVAL
dans EXCEL 2007 (pécé) ni dans EXCEL 2008 (Mac). S'agit-il d'une
fonction "cachée" comme DATEDIF ?

Merci Isabelle (ou tout autre contributeur) de m'affranchir de cette
ignorance.


In article (Dans l'article) <i6fg0c$eab$,
isabelle wrote (écrivait) :

bonjour Pierre,

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

isabelle
Avatar
Tatanka
Ave Denis,

Ta suggestion vient de m'apparaître et ressemble étrangement à la mienne.
Sous 2007, quand je choisis Classeur pour la Zone, la formule ne fonctionne
que pour la feuille dans laquelle j'ai défini le nom.
Comment faire pour qu'elle fonctionne dans toutes les feuilles du classeur ?

Serge

"michdenis" a écrit dans le message de news: i6fo9k$vm$
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
Tatanka
Valable pour toutes les feuilles du classeur grâce à MichD et son !
On lui en doit beaucoup à cui-là :-)


Sans oublier Isabelle à qui j'ai piqué la formule :-)

Serge
Avatar
michdenis
Pourquoi arrêter à mi-chemin ?

Tu peux utiliser cette formule dans fait référence à :
=EVALUATE(MID(INDIRECT(ADDRESS(ROW();COLUMN()-1;3));1;FIND("=";INDIRECT(ADDRESS(ROW();COLUMN()-1;3));1)-1))

Et la formule =EVA sera bonne pour toutes les feuilles pour toutes les colonnes qui précèdent immédiatement
la colonne où la formule a été saisie.

Exemples en B1 1+2+3=... en C1 =EVA
En CB1 10-25+100 =... En CB2 =EVA
Peu importe la colonne sauf naturellement la colonne A
Peu importe la feuille

Si on modifie le -1 à 2 endroits dans la formule (on pourrait donner l'adresse d'une cellule ou son nom) on pourrait
modifier la colonne précédente par la colonne suivante + le report du nombre de colonne que l'on désire.

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


"Tatanka" a écrit dans le message de groupe de discussion :
i6j4df$o1l$
Valable pour toutes les feuilles du classeur grâce à MichD et son !
On lui en doit beaucoup à cui-là :-)


Sans oublier Isabelle à qui j'ai piqué la formule :-)

Serge
Avatar
michdenis
évidemment, j'ai voulu écrire :

En CB1 10-25+100 =... En CC1 =EVA

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


"michdenis" a écrit dans le message de groupe de discussion : i6j5ep$r0l$
Pourquoi arrêter à mi-chemin ?

Tu peux utiliser cette formule dans fait référence à :
=EVALUATE(MID(INDIRECT(ADDRESS(ROW();COLUMN()-1;3));1;FIND("=";INDIRECT(ADDRESS(ROW();COLUMN()-1;3));1)-1))

Et la formule =EVA sera bonne pour toutes les feuilles pour toutes les colonnes qui précèdent immédiatement
la colonne où la formule a été saisie.

Exemples en B1 1+2+3=... en C1 =EVA
En CB1 10-25+100 =... En CB2 =EVA
Peu importe la colonne sauf naturellement la colonne A
Peu importe la feuille

Si on modifie le -1 à 2 endroits dans la formule (on pourrait donner l'adresse d'une cellule ou son nom) on pourrait
modifier la colonne précédente par la colonne suivante + le report du nombre de colonne que l'on désire.

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


"Tatanka" a écrit dans le message de groupe de discussion :
i6j4df$o1l$
Valable pour toutes les feuilles du classeur grâce à MichD et son !
On lui en doit beaucoup à cui-là :-)


Sans oublier Isabelle à qui j'ai piqué la formule :-)

Serge
1 2