Saisir une somme dans une TextBox

Bonjour à tous,

J'ai fait un petit formulaire, et la personne qui l'utilise aimerai saisir une quantité produite sous la forme "=250+1525+30" dans une TextBox, ensuite le résultat de cette somme doit être copié dans une cellule d'un tableau.

Je ne sais pas comment faire, soit j'obtiens 0 avec une saisie type "=250+1525+30" ou 250 avec une saisie du type "250+1525+30".

Merci pour votre aide.

Bonjour,

Merci de fournir à minima votre code VBA, voire un classeur pour illustrer tout ça...

Oui, bien sur ce sera plus efficace..

Ce serait pour les TextBox TONNE et EMBALLAGES

Pour commencer :

Plutôt que de répéter plusieurs fois des instructions similaires :

  With ACTIVITE1

    For i = 3 To 7
        ACTIVITE1.AddItem Sheets("LISTES").Cells(i, 8)

      Next

 End With

Pourquoi ne pas écrire directement :

' Famille des Activités
    For i = 3 To 7
        ACTIVITE1.AddItem Sheets("LISTES").Cells(i, 8)
        ACTIVITE2.AddItem Sheets("LISTES").Cells(i, 8)
        ACTIVITE3.AddItem Sheets("LISTES").Cells(i, 8)
        ACTIVITE4.AddItem Sheets("LISTES").Cells(i, 8)
        ACTIVITE5.AddItem Sheets("LISTES").Cells(i, 8)
    Next

En plus votre bloc With Truc...End With est inutile car aucun objet ne commence par un ".", et vous prenez la peine de répéter le nom de l'objet parent "Truc".

Concernant votre question, vous pouvez essayer de remplacer les instructions du type :

Val(TONNE1.Value)

Par :

Evaluate("=" & Replace(TONNE1.Value, "=", ""))

Merci, je vais tester cela dès que possible !

PS : vous devriez supprimer votre fichier et le reposter en retirant tout les noms (anonymiser en remplaçant par des noms bidons).

Le code est corrigé, donc plus digeste, merci

exemple

Mais je n'arrive toujours pas à réaliser une saisie comme l'exemple ci dessus (rond vert) et avoir le résultat (rond rouge).

Les TextBox ne sont pas faites pour cela, mais il doit bien exister une solution

Version révisée :

Private Sub TONNE1_AfterUpdate()

    'Calcul de la somme des tonnes
    If TONNE1.Value <> "" Then TONNE1.Value = Evaluate("=" & Replace(TONNE1, "=", ""))
    SOMME_TONNES.Value = TONNE1 + TONNE2 + TONNE3 + TONNE4 + TONNE5

End Sub

Merci Pedro, une solution qui me plait bien, que je vais vendre à l'utilisateur.

Cela répond à sa première demande, se passer d'une calculatrice !

Merci encore et bonne fin de journée !

Merci Pedro, une solution qui me plait bien, que je vais vendre à l'utilisateur.

Cela répond à sa première demande, se passer d'une calculatrice !

Merci encore et bonne fin de journée !

Merci du retour et d'avoir passé le sujet en "résolu". Bonne continuation !

Petit rappel pour terminer :

PS : vous devriez supprimer votre fichier et le reposter en retirant tout les noms (anonymiser en remplaçant par des noms bidons).

J'ai changé le fichier initialement partagé, je vais apporter les mêmes modification à votre réponse.

J'ai changé le fichier initialement partagé, je vais apporter les mêmes modification à votre réponse.

Ok merci, j'ai déjà modifié le fichier que j'ai joins.

Rechercher des sujets similaires à "saisir somme textbox"