VBA Excel 2007 additions-soustractions

Résolu
Bonjour,

J'essaie d'écrire un code permettant d'automatiser un calcul (addition + soustraction). Voilà ce que j'ai écrit (je suis débutant):

Sub CommandButton1_Click()
Dim r As String
Dim s As String
Dim c As String
Dim p As String
Dim calc As String

s = TextBox1
c = TextBox2
p = TextBox3

calc = s + p - c
r = TextBox4 = calc.Show
CommandButton1

End Sub

Le CommandButton1 est sensé actionner le calcul et afficher le résultat dans la TextBox4. Je n'arrive pas à faire ce code (j'essaie d'apprendre VBA tout seul)

Merci pour votre aide

5 réponses

  1. Je pense avoir amélioré le programme, mais je n'arrive toujours pas au résultat voulu:

    Sub CommandButton1_Click()

    Dim s As String
    Dim c As String
    Dim p As String
    Dim calc As String

    s = TextBox1
    c = TextBox2
    p = TextBox3

    calc = s + p - c

    TextBox4.Text = calc

    End Sub

    Que dois-je faire?
    0
    1. Contributeur
      Bonjour,

      tes textbox se trouvent où? sur une feuille ou un userform?

      les text box renvient du texte et non des nombres

      évite les varaiables à un caractère; donne leur plutôt un nom court mais explicite; un bon code est celui qui a une maintenance facile

      voici ce que ca pourrait donner dans un userform

      Sub CommandButton1_Click()
      Dim s As Double
      Dim c As Double
      Dim p As Double
      Dim calc As Double
      
      s = CDbl(TextBox1)
      c = CDbl(TextBox2)
      p = CDbl(TextBox3)
      
      calc = s + p - c
      TextBox4 = calc
      
      End Sub


      en déclration suivant le cas tu peux déclarer en byte, integer, long, single ou double. dans l'aide, tu as les fonctions de conversion
      0
      1. Génial!! Merci beaucoup. Mes textbox se trouvent dans un userform. Une dernière chose, CDbl c'est une fonction pour sélectionner la valeur dans une textbox?
        0
        1. Contributeur
          Cdbl convertit une expression en un nombre de type double
          donc les nombres que tu rentres dans le txtbox sont renvoyées sous la forme d'un texte:"3,14159"
          Cdbl("3,14159") renvoie le nombre 3,14159
          comme je te l'ai écrit regarde dans l'aide
          0