Poser les opérations élémentaires dans une même cellule et le résultat dans une autre

1

Bonjour.

J'ai une grosse épine au pied. Je suis en train d'essayer de me faciliter la tâche pour ne pas avoir à faire des opérations sur une calculatrice et les reporter ensuite sur excel. Il s'agit de faire un métré de bâtiment avec afficher, les détails de calculs.

Ex en A1 : (2,50+(6,20/2))*2 et en B1: = 11,20 

Le résultat obtenu doit pouvoir s'additionner ou se soustraire à un autre résultat en dessous

Ex en A1 : (2,50+(6,20/2))*2 et en B1: = 11,20

                  Déduire        

                  2,00+1,50           et en B3: =  3,50 Total = 7,70

Ceci dit, j'aimerai poser de manière aléatoire les opérations mathématiques élémentaires (+,-,x,:)

Voilà j'espère vraiment que c'est faisable, cela fait déjà 3 jours que je cherche.

Merci par avance pour votre temps.

pilbert Posté le 25 juillet, 05:22
par pilbert
Répondre
1

J'ai trouvé ceci sur un forum.

=SOMME((SUPPRESPACE(STXT(SUBSTITUE(A1;"+";REPT(" ";255));1+(LIGNE(A1:A999)-1)*255;255)) & "0")/10)

Peut-être un début de solution ? C'est du chinois pour moi.

pilbert Posté le 25 juillet, 05:57
par pilbert
2

C'est possible avec une fonction personnalisée :

En B1 : =Calculer(A1)

Dans un module standard :

Option Explicit
Function Calculer(calcul As Range) As Double
  Calculer = Application.Evaluate(Replace(calcul.Formula, ",", "."))
End Function



Patrice33740 Posté le 25 juillet, 13:48
par Patrice33740
  • Bonjour et merci pour ta réponse. J'ai passé une nuit blanche à chercher des solutions, je suis en train d'émerger. Je vais voir comment mettre tout ça en application. Je viens de voir qu'avec le mot "module standard" qu'il s'agit d'une programmation VBA ou un truc comme ça. Je potasse tout ça et je reviens avec un résultat. Merci encore. – 26 juillet, 02:09
  • Désolé, je n'avais pas vu que je n'étais pas connecté quand je te répondais. – pilbert 26 juillet, 03:22
1

Voilà patrice33740. Après une petite bataille pour comprendre comment sauvegarder le fichier avec macro, le résultat est à moitié satisfaisant.

Déjà, le résultat de l'opération apparaît avec cette macro, grand merci.

Le problème est (comme tu le verras dans le fichier) la formule écrite (la succession d'opération) n'apparaît pas pour que l'on contrôle les dimensions prises en compte.

Je suppose qu'il va falloir une autre macro ou modifier la dernière car la fonction "afficher les formules" affiche effectivement TOUTES LES FORMULES du fichier.

C'est la seule partie de mon souhait qui n'a pas été résolue.

En tout cas merci pour t'être penché sur mon problème.

Si je pouvais avoir l'autre solution....... 

Merci !

PS. Je cherche à savoir comment joindre le fichier réalisé...


pilbert Posté le 26 juillet, 03:24
par pilbert
1

Bon au moins je peux aller dormir.

Il m'a suffit de mettre un apostrophe devant la formule pour laisser apparaître celle-ci.

Donc un grand merci à toi Patrice33740 pour ton aide et aussi merci à tous ceux qui ont réfléchi à mon problème.

À la prochaine.

pilbert Posté le 26 juillet, 04:45
par pilbert
1

«Le problème est (comme tu le verras dans le fichier) la formule écrite (la succession d'opération) n'apparaît pas pour que l'on contrôle les dimensions prises en compte.»

«Il m'a suffit de mettre un apostrophe devant la formule pour laisser apparaître celle-ci.»

Si tu saisis la formule comme tu l'indiques dans ton premier post :

(2,50+(6,20/2))*2

il n'y a pas de raison qu'elle n'apparaisse pas dans la cellule (au format standard).

Excel ne considère que c'est une formule uniquement si elle commence par égale (=), plus (+) ou moins (-) et effectue alors le calcul. dans les autres cas, il considère que c'est un texte et affiche ce texte.

A mon avis commencer ta formule par un apostrophe n'est pas une bonne solution, ça peut géner l'évaluation par la fonction Calculer(). Il est préférable de mettre la colonne au format texte avant de saisir la formule.

Si la formule est déjà saisie, le fait de mettre la colonne au format texte n'est pas suffisant : il faut ensuite re-saisir la formule.

Patrice33740 Posté le 26 juillet, 15:28
par Patrice33740
  • Ecoute, je suis agréablement surpris que ça marche avec l'apostrophe en plus. Ainsi, la formule écrite : '=1+1 en A1 qui s'affiche : =1+1 donne bien 2 en B1. Bien entendu dans B1 j'ai bien : =Calculer(A1) Va savoir ! Les formats en A1 et B1 sont : Nombre/Standard.
    Si j'enlève l'apostrophe A1 affiche le résultat qui est 2 au lieu de =1+1.
    pilbert 27 juillet, 01:58
1

Bonjour à tous, 

Faire des métrés de bâtiments est mon activité principale et en fait, je fais le contraire de ce qui est posé comme question.

Là où il doit y avoir le résultat, par exemple en B1, je mets la formule du genre =(2,50+(6,20/2))*2 ce qui m'affiche la valeur 11,20 et là où j'ai besoin de visualiser la formule de calcul, je mets tout simplement

=FORMULETEXTE(B1)

Quand des fois, j'entre une valeur sans faire de calcul, la fonction FORMULETEXTE m'affiche un message d'erreur alors mes modèles ont la formule suivante :

=SI(ESTFORMULE(B1);FORMULETEXTE(B1);"")

Ça ne répond pas du tout à la question, mais c'est aussi une piste.

La copie écran jointe donne un exemple https://www.cjoint.com/c/JHbh1zxznjX les valeurs sont saisies ou calculées en colonne G et le détail du calcul est affiché en colonne F

MicXL Posté le 1 août, 09:57
par MicXL
1
Не зря говорят, если хочешь, чтобы получился идеальный результат, сделай все сам. Данное утверждение, видимо, никогда не потеряет своей актуальности, и то, что ВЫ сможете своими руками сделать окна себе в квартиру или дом – будет лишним подтверждением. Итак, приступим. Почему нужно уметь делать окна своими руками? Данный портал не подойдет тем, кто считает, что он ни на что не способен, кто привык сдаваться на полпути – наши статьи тогда точно не помогут! А вот для тех, кто хоть и ошибается, но умеет признать ошибку и сделать правильные выводы, кто согласен добиться успеха в таком нехитром деле – наши материалы будут полезны. Пластиковая продукция Основным товаром на сегодняшний день является металлопластиковая продукция, покупка и установка которой чаще всего выливается в «копеечку». А что говорить тогда о ремонте? Конечно, самому сделать пластиковые окна не совсем реально, самостоятельно можно их установить и отремонтировать. И именно на эту тему Вы у нас и найдете ряд полезных тем, которые окажутся Вам как нельзя кстати. Кроме того, мы научим Вас обращаться с инструментом, грамотно им работать, а так же выбирать при покупке - вот он проект-сайт Так же,именно благодаря нашим материалам Вы, наконец – то, сможете выполнить регулировку окна, к которой, вероятно, не хотели приступать из-за определенного пробела в знаниях. Кроме того, мы расскажем, как заменить и провести мелкий косметический ремонт непосредственно стеклопакета. Деревянные конструкции Есть определенная проблема, почему деревянные окна до сих пор оказываются вне конкуренции. Это – микропоры, которые способствуют циркуляции воздуха, что не вызывает образования плесени в помещении. Именно поэтому – изготовление такого типа окон и самостоятельный монтаж всегда будут актуальны. И если Вы не знаете, как именно сделать самому окна из дерева – Вам помогут грамотные советы наших специалистов, которые занимаются их изготовлением в повседневной жизни. Кроме того, Вы разберетесь, как заменить стекла в них, покрасить рамы. А так же – при желании, как выровнять и заштукатурить откосы, установить подоконники.
Posté le 13 août, 12:08
par Josette
1

Bonjour,

Je propose les 2 fichiers ci-dessous (2 méthodes différentes).

Fichier n° 1 - sans macro VBA, avec formule à étirer :

https://mon-partage.fr/f/08U33CHV/

Fichier n° 2 - avec macro VBA, sans formule à étirer :

https://mon-partage.fr/f/51jFE7xf/

rhodo

rhodo Posté le 13 août, 23:22
par rhodo
1

@pilbert

Je viens de compléter ma réponse du 13 août (2 fichiers au lieu d'un seul).

Si tu reviens sur ton sujet et que tu essayes les 2 fichiers de mon post précédent,
merci de me dire quelle méthode tu as préféré ; si tu as besoin d'une adaptation,
n'hésite pas à me demander.

rhodo

rhodo Posté le 15 août, 01:20
par rhodo

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :