Calcul automatique en reprenant le texte d'une cellule

Bonjour à tous.

J'aimerai avoir de l'aide concernant un chose que je n'arrive pas à faire sur Excel, c'est peut-être tout simple, ou alors ce n'est pas possible, je ne sais pas.

Voici mon problème :

image

J'ai un tableur pour calculer des surfaces dans une maison. Une colonne, à gauche, sous format texte, des "formule" tapées à la main, pour désigner un calcul à réaliser dont le total sera a afficher dans la colonne de droite.

Ce que je souhaiterai, c'est qu'une fois que j'ai tapé la formule dans la colonne de gauche, il suffise simplement d'une formule dans la colonne de droite qui reprenne le texte de la cellule de gauche pour en afficher le résultat, mais en conservant la cellule sous format texte du calcul à gauche.

Je vous joint mon fichier exemple.

Cela parait futile pour calculer quelques formule, plus rapide de retaper à la main en rajoutant simplement un "=" au début. Mais dans mon travail, il s'agit parfois de plusieurs dizaines de pages de ce genre de calcul pour chiffrer un projet conséquent, donc automatiser la frappe des formules me serait bien pratique...

J'espère que cela sera réalisable, je vous remercie par avance pour votre aide.

Bonjour,

Une petite recherche aurait suffit

Obtenir le résultat d'une formule présente sous format texte

A+

Bonjour,

Tout d'abord merci pour votre retour.

J'ai regardé le sujet que vous avez cité, mais en suivant les instruction, cela ne fonctionne pas, cela me donne un #VALEUR!...

Et pourtant j'ai fait plein de recherches sur le net sans tomber sur votre sujet cela fait plusieurs jours que je cherche des solutions sur internet avant de poser la question, j'ai essayer plusieurs options mais cela ne fonctionne pas...

Quelqu'un aurait une solution et pourrais l'intégrer à mon fichier pour que je vois comment cela fonctionne ?

Merci :)

Re,

Selon comme le texte est écrit, il y a une modification du code de la fonction à faire, mais l'idée était là

Function Evalue(r As Range) As Variant
  Dim sForm As String
  ' Transformer un minimum la formule
  sForm = r.Value
  ' Supprimer les espaces
  sForm = Replace(sForm, " ", "")
  ' Remplacer le X par une *
  sForm = Replace(sForm, "X", "*")
  ' Remplacer la virgule par un point
  sForm = Replace(sForm, ",", ".")
  ' placer le = devant
  sForm = "=" & Replace(sForm, "=", "")
  ' La calculer
  Evalue = Application.Evaluate(sForm)
End Function

Voici le fichier avec la fonction personnalisée

A+

Incroyable ça marche !

Merci infiniment cela va me faciliter la vie vraiment, et réduire mon temps passé à faire des copier-coller ou à retaper les formules, vraiment, merci beaucoup !

Je n'aurais pas pu trouvé cela tout seul, je ne suis pas du tout calé en VBA...

J'ai pu intégrer ce code dans mon document, et cela fonctionne parfaitement quelle que soit la complexité de la formule, sublime !

Merci merci merci.

Bonne journée.

Rechercher des sujets similaires à "calcul automatique reprenant texte"