Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion babidi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

babidi

Guest
Bonsoir, je voudrais afficher le résultat d'un calcul dans une autre case. Je m'explique, j'ai dans la case C2 l'opération suivante:1+2+3 (sans le égale) et je voudrais que dans la case C1 apparaisse le résultat de cet opération. Y a t'il une formule pour cela ?
 
Re : opération

Bonsoir
A mon avis je ne vois pas , car le contenu est reconnu comme du texte !!
Après , peut-être en "décortiquant" car. par car. en VBA on pourrait reconnaître l'opération à effectuer ....mais j'ai des doutes !!!
Est-ce necessaire de faire 1+2+3 dans une cellule ? parfois on cherche compliqué lorsque c'est simple !!!
Tu verras peut-être d'autres conseils !
 
Re : opération

Bonsoir babidi et bienvenue, RV62, le forum,

Sans passer par =, va falloir faire fort là.....

C'est un peu comme démarrer une voiture, sans la clé de contact, sans carburant et sans batterie.... A part pousser.................

Si tu nous expliquais le pourquoi d'une telle chose ?

A te lire

Jean-Pierre
 
Re : opération

Bonsoir Jean Pierre , re Babidi

Je ne suis pas seul , en effet sans "=" ???
Excel et VBA sont hyper puissant ... mais nous sommes toujours sur Terre !!!
Je pense que Babidi devrait revoir la conception de son appli avant de revenir

Hervé
 
Re : opération

Je travaille dans un casino. Une fois notre travaille cloturé, si on retrouve des pieces dans la salle, nous devons les noter dans un fichier Excel. Par exemple on retrouve 3 pieces, 2 de 0.50 et une de 1. Dans la case pieces on doit alors noter 2+1 et ensuite dans une autre case la somme c'est à dire trois
 
Re : opération

Bonsoir babidi, herve62, jeanpierre

Par formule je sais pas, mais en VBA voici une fonction perso qui fait ce que tu demandes.

Code:
Function TTotal(cell As Range)

Dim tablo, i As Integer

tablo = Split(cell, "+")
  For i = 0 To UBound(tablo)
     If IsNumeric(tablo(i)) Then TTotal = TTotal + Application.WorksheetFunction.Sum(tablo(i))
  Next

End Function
Tu places le code dans un module standard, et ensuite dans la feuille tu te sers de la fonction comme une fonction native d'Excel.

Ex : en C1 tu tapes =TTotal(C2)

Bonne soirée
 
Dernière édition:
Re : opération

Re,

Déjà, 0.50*2 + 1, cela fait deux et non trois.... (tu m'étonnes qu'ils perdent tous des sous............)

Pour rigoler un peu, les pièces, je n'y toucherai pas, les laissant aux employé(es) qui vont faire le ménage.... Pour les billets, j'ai encore un peu de place dans mes poches.... je dis bien pour rigoler....

Pour l'instant, rien trouvé... peut-être que quelques Maîtres "es VBA" vont trouver le truc miracle.... ?

Edit : Oups, le temps de raconter mes c.......... et l'ami Pierre-Olivier est passé, Salut à toi.
 
Re : opération

Re, salut jeanpierre

La fonction calcule uniquement avec des nombres entiers, si il faut faire des calculs avec des nombres décimaux il faut utiliser ce code :

Code:
Function TTotal(cell As Range)

Dim tablo, i As Integer

tablo = Split(cell, "+")
  For i = 0 To UBound(tablo)
     If IsNumeric(CDbl(tablo(i))) Then TTotal = TTotal + Application.WorksheetFunction.Sum(CDbl(tablo(i)))
  Next

End Function

A+
 
Re : opération

Re..re bonsoir

Jean-Pierre : la formule de Pierre-Olivier fonctionne ... j'ai testé

Babidi : Maintenant fait comme tu veux ... reste à savoir si c'est pour une seule cellule .... ou X fois alors tu recopies à chaque fois la fonction ... C'EST POSSIBLE ... C'EST REALISABLE !!!!! ( faut rigoler le soir)

Pierre-Olivier : je garde ta fonction ...au cas OU !!!

Hervé
 
Re : opération

bonsoir,

si en A1, il y a 1+2+3 ou 2*,5+5*,2

la formule est =EVAL(A1)

cordialement

EDIT Suite à une remarque d'Hervé, cette fonction n'est pas native à Excel, elle fait partie de la macro complémentaire MOREFUNC.xll de L. Longre
 
Dernière édition:
Re : opération

Re,

Pour rigoler comme dit Hervé, si dans la cellule il y a du texte, des nombres entiers et décimaux : Ex A+0,8+0,5+B+10, le résultat sera 11,3

Code:
Function TTotal(cell As Range)

Dim tablo, i As Integer

tablo = Split(cell, "+")
  For i = 0 To UBound(tablo)
     On Error Resume Next
     If IsNumeric(CDbl(tablo(i))) Then TTotal = TTotal + Application.WorksheetFunction.Sum(CDbl(tablo(i)))
  Next

End Function

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
11
Affichages
419
Réponses
10
Affichages
411
Réponses
19
Affichages
707
Réponses
3
Affichages
240
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…