88 votes

Comment transformer une formule de type chaîne de caractères en une formule "réelle" ?

J'ai 0,4*A1 dans une cellule (sous forme de chaîne). Comment convertir cette "formule de chaîne" en une formule réelle et calculer sa valeur, dans une autre cellule ?

0 votes

Pourriez-vous le faire dans l'autre sens ? Depuis Excel 2013, FORMULATEXT() vous montre la formule qui a créé le résultat. Du point de vue de l'utilisateur final, les valeurs des deux cellules auraient la même apparence que ce que vous semblez demander.

3voto

mountainclimber Points 696

À mon avis, les meilleures solutions se trouvent dans ce lien : http://www.myonlinetraininghub.com/excel-factor-12-secret-evaluate-function

En voici un résumé :

  1. Dans la cellule A1, entrez 1 ,
  2. Dans la cellule A2, entrez 2 ,
  3. Dans la cellule A3, entrez + ,
  4. Créez une plage nommée, avec =Evaluate(A1 & A3 & A2) dans le champ "fait référence à" lors de la création de la plage nommée. Appelons cette plage nommée "testEval",
  5. Dans la cellule A4, entrez =testEval ,

La cellule A4 doit contenir la valeur 3.

Notes :
a) Ne nécessite aucune programmation/VBA.
b) J'ai fait cela dans Excel 2013 et cela fonctionne.

2voto

user6698332 Points 332

Disons que nous avons une colonne E rempli par des formules qui renvoient une chaîne de caractères, comme :

= " = " & D7

donde D7 La cellule consiste en une formule plus compliquée, qui compose le résultat final souhaité, par exemple :

= 3.02 * 1024 * 1024 * 1024

Et donc dans toutes les quantités énormes de rangs qui sont.

Quand les lignes sont un peu - il suffit de copier les cellules désirées comme valeurs (par RMB)
à la colonne la plus proche, disons G et appuyez sur F2 avec les éléments suivants Entrez dans chacune des rangées.
Cependant, dans le cas d'une grande quantité de lignes, il est impossible ...

Donc, Pas de VBA. Pas de formules supplémentaires. Pas de F&R

Pas d'erreurs, pas de fautes de frappe, mais uniquement des actions mécaniques stupides,

Comme sur un convoyeur Ford. Et en seulement un quelques secondes seulement :

  1. (Supposons que toutes les colonnes concernées soient au format "Général").
  2. Ouvrez Notepad++
  3. Sélectionner toute la colonne D
  4. Ctrl+C
  5. Ctrl+V dans les NPP
  6. Ctrl+A dans les NPP
  7. Sélectionnez une cellule dans la première ligne de la colonne souhaitée G1
  8. Ctrl+V
  9. Profitez-en :) .

2voto

ZygD Points 8001

Excel 2019 ici. EVALUATE n'est pas valable.

evaluate isn't valid

Ça marcherait si on créait une plage nommée à partir de ça :
edit name dialog

Mais dans ce cas, nous fournissons une référence absolue, ce qui n'est pas agréable :

  1. Nous devrions modifier la formule chaque fois que nous voulons la réutiliser.
  2. Lorsque la valeur de A1 change, le résultat évalué ne change pas.

Solution :

=EVALUATE(GET.CELL(5,OFFSET(INDIRECT("RC",FALSE),0,-1)))

edit name dialog

result EVAL_ON_LEFT

-4voto

JakobW Points 10

La meilleure façon, non VBA, de le faire est d'utiliser la formule TEXT. Elle prend une chaîne de caractères comme argument et la convertit en une valeur.

Par exemple, =TEXT ("0.4*A1", '##') renvoie la valeur de 0,4 * la valeur qui se trouve dans la cellule A1 de cette feuille de calcul.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X