VBA Excel 2007 additions-soustractions [Résolu/Fermé]

Signaler
-
Messages postés
16187
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
13 mai 2020
-
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

SVP aidez-moi..
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?
Messages postés
16187
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
13 mai 2020
2 947
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
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?
Messages postés
16187
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
13 mai 2020
2 947
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