Récupérer « 2 » depuis « '1+1 »
Suite à ma rubrique « Lire les arguments d’une fonction » du 30 novembre, un lecteur me demande comment faire pour qu’une cellule affiche « 1+1 » et qu’une autre cellule affiche la valeur « 2 » résultant de cette opération.
Tout d’abord, on pourrait penser à utiliser la fonction CNum() qui convertit en nombre une chaîne de caractères représentant un nombre. Ainsi, si la cellule F1 contient « '123 », la cellule contenant la formule = CNum(F1) affichera la valeur « 123 ».
Hélas, CNum('1+1) affiche le désagréable message #VALEUR!
Il nous faut donc trouver une autre solution.
Tout d’abord, on pourrait penser à utiliser la fonction CNum() qui convertit en nombre une chaîne de caractères représentant un nombre. Ainsi, si la cellule F1 contient « '123 », la cellule contenant la formule = CNum(F1) affichera la valeur « 123 ».
Hélas, CNum('1+1) affiche le désagréable message #VALEUR!
Il nous faut donc trouver une autre solution.
Le tableau ci-dessus illustre cette solution. Nous avons entré « '1+1 » en A1 et C1, et « '123+45 » en A2 et C2. La seule différence entre A1 et C1 (ou B1 et D1) est que nous avons cadré à droite le bloc C1:D1, afin de plus « faire nombre ».
La formule de A2, recopiée ensuite vers la droite, est :
=gauche(A1;cherche("+";A1)-1)+stxt(A1;cherche("+";A1)+1;100)
Cette formule permet de récupérer n’importe quelle somme de deux nombres affichée en A1.
2 Commentaire(s):
Un grand merci !
By Anonyme, sur 7:45 AM
Bonjour,
à noter l'existence de la fonction EVAL() qui évalue n'importe quelle expression texte.
=EVAL(A1)
eric
By Anonyme, sur 11:46 AM
Enregistrer un commentaire
<< Accueil