Probleme de variable

Résolu
JuNaNoR Messages postés 3 Date d'inscription dimanche 3 septembre 2006 Statut Membre Dernière intervention 3 septembre 2006 - 3 sept. 2006 à 13:28
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 6 sept. 2006 à 19:24
bonjours a tous

je suis newbie dans la programmation, et j'aurais voulu avoir quelque tuyaux de la par de programmeurs plus confirmés :

dans mon programme, je voudrais entrer differentes valeur ( que des nombres ) dans des cases prévues a cet effet, les traiter ( addition ), et afficher le resultat dans une auter case. j'ai pensé a des textbox, mais lorsque je stock la valeur de ceux ci et que je demande d'afficher le resultat dans une nouvelle textbox, au lieu d'effectuer un calcul, il me met mes valeurs a la suite dans la case, bref, j'aurais voulu savoir comment effectuer des calculs de valeurs ( nombres ) a partir de données transmises par l'utilisateur.
merci d'avance pour vos reponses !!

8 réponses

JessicaR44 Messages postés 116 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 29 septembre 2013
3 sept. 2006 à 13:54
Dans ton cas, le + a concaténé des strings plutôt qu'additionné leurs valeurs.
Additionne la valeur des tes textebox:
textTotal.text = val(text1.text) + val(text2.text) + val(text3.text)
ou, au lieu de val(), Cint(), Cdbl(), Clng(), ...
Les puristes convertiront également TextTotal.text
3
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 77
3 sept. 2006 à 20:44
Nota : Si le contenu d'une des maTextBox contient une lettre, la fonction Val renverra 0, donc, ton calcul sera faux.
Regarde parmi les sources du site des codes qui parlent de calculettes, il y en a des tonnes : Tu apprendras les astuces
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
3 sept. 2006 à 14:45
Salut,

la fonction val est occultable SI tu déclares des variables pour des calculs plus complexe :
voir dans msdn locale Type de données

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 77
3 sept. 2006 à 20:42
Salut
Pour faciliter le travail, tu as intérêt à indexer les maTextBox (tes "cases") dans lesquels tu écriras les données.
Créé le 1er maTextBox et vas dans la propriété Index écrire le chiffre 0
Ensuite, Copie/Colle ce TextBox sur ta forme. VB incrémentera seul la valeur "Index".
Pour lire le contenu du 3ème TextBox, il te suffira de faire maTextBox(2).Text (2 car le 1er est en 0)
Ensuite, pour faire la somme, il te suffit de créer une boucle :
Résultat = 0
For r = 0 To 9   ' en supposant que tu aies créé 10 maTextBox (de 0 à 9)
   Résultat = Résultat + Val(maTextBox(i).Text)
Next r
maTextBoxRésultat.Text = CStr(Résultat)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
0

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

Posez votre question
JuNaNoR Messages postés 3 Date d'inscription dimanche 3 septembre 2006 Statut Membre Dernière intervention 3 septembre 2006
3 sept. 2006 à 23:04
merci a tous pour vos reponses elle m'on permies d'avancer d'un grand bon dans mon programme.
cependant, Jack, j'ai une question dans ton code, comment le programme sait-il quelle textbox il doit ajouter ( ne pas ajouter toujours la valeur de la même textbox,mais a chaque fois passer a la suivante )
0
JuNaNoR Messages postés 3 Date d'inscription dimanche 3 septembre 2006 Statut Membre Dernière intervention 3 septembre 2006
3 sept. 2006 à 23:07
ps, j'allais oublier, qu'est-ce que veut dire cette ligne s'il vous plait ? ==> "maTextBoxRésultat.Text = CStr(Résultat)" ainsi que ces fonctions ? ==>
"Cint(), Cdbl(), Clng(), ..."

merci d'avance !!
0
JessicaR44 Messages postés 116 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 29 septembre 2013
3 sept. 2006 à 23:51
Dans un code VB, tape Cstr (ou Cint, Cdbl...) et fais F1
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 77
6 sept. 2006 à 19:24
La réponse à ta dernière question est dans ma première réponse : l'indexation de controle TextBox (je t'ai tout détailler)
CStr sert à convertir des chiffres en String - Même si ce n'ai pas obligatoire, cela évite des conflits (un jour ou l'autre) :
Ton résultat est un chiffre.
Ce qu'on entre dans une TextBox (qui porte bien son nom), est du texte.
Pour convertir un chiffre en chaine, c'est CStr
Comme l'a dit Jessica, regarde dans l'aide de VB ou sur www.msdn.com
0
Rejoignez-nous