Additionner un TextBox et un Label

Résolu
lenemmasque Messages postés 33 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 23 mars 2007 - 23 févr. 2006 à 13:55
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 - 23 févr. 2006 à 16:07
Bonjour !

Je vous explique mon problème : J'ai une valeur dans un TextBox : 12, et une autre dans un Label1 : 34. J'ai une macro dans laquelle je rentre : Label2 = TextBox + Label1. Et là, le résultat n'est pas 46 mais 1234 (les nombres à la suite). Pouvez-vous me dire comment faire pour additionner ces deux valeurs ? Et me dire par la même occasion comment faire les soustractions, les divisions et les multiplications...

Merci.

8 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 févr. 2006 à 14:03
Salut,
La propriete par defaut de label est caption (le contenu) celle du textbox est text alors lorsque tu fais Label2 label1 + textbox (en fait tu fait contenu du label deux Contenu du label1 et contenu du text a la suite)

Pour additioner les valeurs du contenu:

Label2.caption = cstr(cint(Textbox.text) + Cint(Label1.caption))

Et voila
5idem pour les soustraction division....

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
1
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
23 févr. 2006 à 14:06
Bonjour,

.

Private Sub Command1_Click()

Label1 = 34

Text1.Text = 12

Label2 Val(Label1) + Val(Text1.Text) 'Val valeur

End Sub



jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée.
1
lenemmasque Messages postés 33 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 23 mars 2007 3
23 févr. 2006 à 14:33
Je valide les deux, parce que les deux fonctionnent...
Merci beaucoup !
1
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
23 févr. 2006 à 14:42
A noter qu'il vaudrait mieux eviter l'utilisation de Val() et préféré celle de CInt() pour des raison de sécurité.
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 févr. 2006 à 14:46
Re,

> Crenaud76: Tout a fait d'accord. (petite "erreur" de ma part)

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
1
lenemmasque Messages postés 33 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 23 mars 2007 3
23 févr. 2006 à 15:18
Pour quelle raison ?
1
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 févr. 2006 à 15:51
Salut,

Val() est plus adaptee que Cint() pour plusieurs raison:

Si text.text = 50000 : Cint(Text.text) genere une erreur car un entier en VB6 a la valeur max de: 32767.

Ensuite val te renvoie une valeur de type Double (possibilite de valeur beaucoup plus grande)
Mais en plus si par exemple (tire de la MSDN) Text.text = " 1615 17e siècle" Val te renvoie 161517 (d'accord ca peu etre a double tranchant.)

Voila en esperant avoir pu t'aider un peu

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
1
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
23 févr. 2006 à 16:07
C'et bien pour cela que je conseillais d'utiliser plutot CINT() à la place de Val(), qui ne bronche pas si ce qu'on lui file en argument ne représente pas un nombre !!
Si le Int ne suffit pas, au lieu de CInt(), on peut utiliser CLng() ou CDbl() par exemple.

CR
1
Rejoignez-nous