Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Excel - Exécuter formule stockée comme texte

Dav, le lundi 3 mars 2008 à 22:06:19
Bonjour,

Sous Excel, j'aimerais savoir s'il est possible d'exécuter, dans une cellule, une formule qui serait écrite dans une autre cellule en tant que simple chaîne de caractères.
Il serait ainsi possible de remplacer une interminable formule "SI" (sinon SI, sinon SI, etc.) par une recherche dans une matrice de formules, en fonction du cas qui se présente.

Par exemple - Supposons une feuille qui convertit des unités de mesure (Celsius à Fahrenheit, gallons à litres, etc.) :
- Un onglet "Conversion" contient deux cellules modifiables : A1="Valeur à convertir" et A2-"Conversion à appliquer" et une cellule non-modifiable A3-"Résultat".
- Un onglet "Dictionnaire des formules de conversion" contient deux colonnes A:NomFormule et B:Formule. Un exemple - en A2 il y aurait "Pouce->Cm" et en B2 "'=Conversion!$A$1*2.54
- Dans la cellule Conversion!A3, est-il possible d'utiliser les formules du "Dictionnaire des formules" ???

Autre exemple pour simplifier encore ma question :
- Cellule A1 : '=Si(B1=1;"Vrai";"Faux") (Noter l'apostrophe devant la formule qui en fait une simple chaine texte)
- Cellule B1 : 1
- Cellule A2 ???Execute formule inscrite dans A1??? : Vrai

Merci !
Configuration: Windows XP
Internet Explorer 6.0
Répondre à Dav  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
gbinforme, le mardi 4 mars 2008 à 00:56:09
bonjour

Sous Excel, j'aimerais savoir s'il est possible d'exécuter, dans une cellule, une formule qui serait écrite dans une autre cellule en tant que simple chaîne de caractères.


La réponse est positive et je te donnes un exemple de réalisation : http://cjoint.com/?deaY7Hjvod

Il faut tout de même faire attention à l'écriture syntaxique des formules qui doit être sans erreurs.

Il serait ainsi possible de remplacer une interminable formule "SI" (sinon SI, sinon SI, etc.)

Quand on est noyé dans les "SI" c'est que l'organisation des données est à revoir ou qu'il faudrait essayer de réfléchir à d'autres fonctions plus faciles à maintenir comme effectivement une recherche dans une matrice de résultats.

Toujours zen
Répondre à gbinforme

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Dav, le mardi 4 mars 2008 à 15:25:36
Merci beaucoup gbinforme !
Comme ce besoin semble assez simple et doit être récurrent, j'eus cru qu'il était possible de le faire sans VBA... Mais après tout, les quelques lignes de code à appliquer sont toutes simples, j'aurais dû jeter un oeil de ce coté plus tôt.

Merci encore !
Répondre à Dav

3


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
eriiic, le mardi 4 mars 2008 à 19:53:44
Bonjour tout le monde,

Il est effectivement possible de le faire sans vba mais avec une astuce.
Je le livre à titre d'info (vba permet plus de souplesse) mais pour un besoin ponctuel ça peut servir, surtout si on n'est pas à l'aise avec vba.

Sous un ancien excel (le 4 ?) il y avait la fontion =EVALUER(A2) qui permettait justement de calculer le résultat de la fonction ecrite en TEXTE dans A2. Par exemple A1: 5 A2: '=A1*2.54

La fonction (plus documentée) a été désactivée. Si je saisi en A3: =EVALUER(A2) j'ai droit à 'fonction non valide'.

Par contre, en passant par la définition d'un nom on arrive à passer.
Menu 'insertion / nom / définir...'
nom : fonction_variable
fait référence à : =EVALUER(Feuil1!$A$2)

En A3 je saisis le nom: =fonction_variable et j'obtiens le résultat de'=A1*2.54 soit 12.7

Je n'ai pas regardé dans le détail si c'est facilement applicable à ton cas car de toute façon tu as la solution en vba de gb, mais c'était l'occasion de rappeler cette astuce
eric
Répondre à eriiic

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Dav, le mardi 4 mars 2008 à 20:10:46
Excellent petit truc ! Merci Eric.
En combinant avec la RechercheV et une indirection (INDIRECT), j'arrive à ajouter la souplesse nécessaire.
(Je me souviens maintenant de cette fonction des versions antérieur de Excel... et j'imagine qu'elle a été retirée pour raison de sécurité.)
Répondre à Dav
[excel] aucune formule ne se calcul (Résolu) Bonjour, sous excel 2003, bien que l'option calcul automatique soit cochée, aucune formule n'est calculée et mise à jour. Il y avait un lien sur ce poste http://www.commentcamarche.net/forum/affich 4302970 excel aucune formule ne se calcule... www.commentcamarche.net/forum/affich-6661948-excel-aucune-formule-ne-se-calcul
Ecrire ac VBA formule ds case Excel (Résolu) Je suis novice en vba. je voudrais écrire dans la case A3 d'excel une formule dépendant d'une case que l'utilisateur écris dans un userform. Pour simplifier, on appelle cette case b et on dit qu'elle est égale à B13 mon code est le... www.commentcamarche.net/forum/affich-3573035-ecrire-ac-vba-formule-ds-case-excel
[excel] formule pour une fonction graphique (Résolu) Bonsoir, voila mon problème: J'aimerai entrer dans excel une formule du style "y=3x+1" et que le soft me donne les valeurs de y et que je puisse faire un graphique. Comment faire ? D'avance merci pour vos lumières www.commentcamarche.net/forum/affich-3256689-excel-formule-pour-une-fonction-graphique
Formules Excel de baseVoici quelques formules de bases qui sont faciles à réaliser et qui peuvent donner un peu de vie à une feuille Excel ! Pour cette astuce, on supposera que l’on veut que le résultat s’affiche dans la cellule B10 et on se servira principalement des... www.commentcamarche.net/faq/sujet-8450-formules-excel-de-base
Eviter les doublons dans ExcelEviter les doublons lors d'un encodage dans un colonne de feuille excel: prendre le format conditionnel sur le première cellule sous les titres (par ex A2) choisir la formule suivante : =NB.SI($A$2:$A$21;A2)>1 mettre là la couleur de fond... www.commentcamarche.net/faq/sujet-1258-eviter-les-doublons-dans-excel
[Javascript] Effacer un champ de formulaire lors du clic (focus)Il vous est sûrement arrivé de tomber sur un formulaire HTML avec des valeurs pré-remplies décrivant par exemple le type de valeur attendue. L'intention est louable mais il est désagréable de devoir sélectionner ce texte et le supprimer avant de... www.commentcamarche.net/faq/sujet-884-javascript-effacer-un-champ-de-formulaire-lors-du-clic-focus
Format date dans une formule Excel (Résolu)Bonjour, J'ai dans un tableau excel une formule qui reprend une date d'une autre cellule. La cellule d'origine affiche bien la date sous forme 21-Nov-08, mais dans la cellule destination, cette date apparaît comme un chiffre (en... www.commentcamarche.net/forum/affich-9640628-format-date-dans-une-formule-excel
Formule excel (Résolu)Bonjour, existe t il sous excel une formule pour dire A = 1 B = 2 ainsi de suite merci www.commentcamarche.net/forum/affich-7664224-formule-excel
Outiles d'analyse sur Excel (Résolu)Bonjour Sur mon poste personnel, qui n'est pas branché avec le net, j'arrive pas à voir outiles d'analyse sur mon tableau Excel, ni zone de texte???!! il me demande de les chargés, mais je vois d'ou ?? merci www.commentcamarche.net/forum/affich-1736370-outiles-d-analyse-sur-excel
Télécharger Subject Search PadSubject Search Pad est un éditeur de texte avancé. Il vous permet d'éditer, de rechercher, de catégoriser et de chercher les fichiers. Cette version actuelle supporte les fichiers MS Word, Excel, Power Point, HTML, Text, PDF, MS Help, Unicode et plus... www.commentcamarche.net/telecharger/telecharger-34057752-subject-search-pad
Les nouvelles technologies rendent les cerveaux paresseux(Paris - Relaxnews) - Les nouvelles technologies, et en particulier les téléphones portables, sont un excellent moyen de stocker des informations et d'organiser sa vie quotidienne. Cependant, les mobiles font de plus en plus office de "pense-bêtes",... www.commentcamarche.net/actualites/les-nouvelles-technologies-rendent-les-cerveaux-paresseux-3262824-actualite.php3