Attila54
Messages postés409Date d'inscriptionjeudi 30 juin 2005StatutMembreDernière intervention21 novembre 2013
-
18 oct. 2010 à 19:03
Attila54
Messages postés409Date d'inscriptionjeudi 30 juin 2005StatutMembreDernière intervention21 novembre 2013
-
19 oct. 2010 à 19:01
Bonjour
Je dois, dans le cadre de mon travail, developper une petite apli en VB6 et je suis confronté a un problème de boucle dont je ne saisis pas la totalité de la subtilité.
Pour faire simple voici le postulat :
Voici les donnees :
6 Texbox : Textbox1, Texbox2, Textbox3, Texbox4, Texbox5 et Texbox6
un bouton Commandbutton de calcul
Textbox1: est egale a Une Texbox precedemment calculée que j'appelerai TextBox6
TextBox2 est une valeur a entrer variant de -2.00 à +2.00
Si Text1.Text > 0 et Text2 > 0
Text3 = Text1.Text - Text6.Text
Text4 = Text3.Text * 3
Text5 = Sqr Text3.Text
J'ai crée le code suivant :
Text1.Text = Format (CCur(Text6.Text)), "0.00")
If Text6.Text < 0 Then
If Text2.Text < 0 Then
Text3.Text = Val(Text1.Text) + Val(Text6.Text)
Text4.Text = (Text2.Text) / (Text1.Text)
Text5.Text = (Text4.Text) / 2
Else
Text3.Text = (Text1.Text) - (Text2.Text)
Text4.Text = (Text2.Text) * (Text1.Text)
Text5.Text = (Text4.Text)
End If
Else
If Text6.Text > 0 Then
If Text2.Text > 0 Then
Text3.Text = (Text1.Text) * (Text2.Text)
Text4.Text = (Text2.Text) * 3
Text5.Text = (Text3.Text) / 5
Else
Text3 = (Text1.Text) - (Text6.Text)
Text4 = (Text3.Text) * 3
Text5 = Sqr(Text3.Text)
End If
End If
End If
Mon problème : Ps : seuls les 2 premiers cas sont traités, pas les 2 derniers. Je me dis que j'ai du faire une erreur dans ma boucle mais je ne vois pas ou
Merci pour un indice
nyko283
Messages postés27Date d'inscriptionsamedi 21 novembre 2009StatutMembreDernière intervention16 février 20111 18 oct. 2010 à 21:14
Bonjour,
je viens d'essayer ton code, il marche bien chez moi si je change de valeur pour la textbox6 il change de cas et de meme pour la textbox2.
si petite chose j'ai remplacer les "Text1,Text2,Text3,Text4,Text5,Text6" par
"TextBox1,TextBox2,TextBox3,TextBox4,TextBox5,TextBox6". et aussi rajouter les ".text" pour le dernier cas.
si tu as encore des problèmes fait signe.
Bon courage
Nicolas
Développeur en herbes
mais l'herbe pousse tranquilement
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 19 oct. 2010 à 08:52
Salut
Tu peux aussi simplement traduire ce que tu as écrit en français, en prenant garde que Text1.Text, c'est du ... texte et que tu veux comparer des chiffres.
If Val(Text1.Text) < 0 And Val(Text2.Text) < 0 Then
' Code
ElseIf Val(Text1.Text) < 0 And Val(Text2.Text) > 0 Then
' Code
ElseIf Val(Text1.Text) > 0 And Val(Text2.Text) < 0 Then
' Code
ElseIf Val(Text1.Text) > 0 And Val(Text2.Text) > 0 Then
' Code
ElseIf Val(Text1.Text) 0 And Val(Text2.Text) 0 Then
' Code en cas d'égalité (pas traité)
End If
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Attila54
Messages postés409Date d'inscriptionjeudi 30 juin 2005StatutMembreDernière intervention21 novembre 20131 19 oct. 2010 à 19:01
merci beaucop a vou deux,
Jack, je suppose que Val(Text1.Text) renvoie ce coup ci une valeur et non plus du texte
Mondernier souci est de bien definir le type des Textbox, en fait elles doivent toutes contenir des valeurs comprises entre -100.00 et +100.00 et surtout ne pas me faire d'arrondi" lors d'operations de calculs. Un peu cmme une calculette quoi.
pour tester l'addition de deux valeurs comprises entre -100.00 et +100.00 avec deux decimales non arrondies au resultat mais j'ai un probleme d'arrondi
j'apprends mais ce n'est pas facile même en lisant quand on en a jamais fait ou presque ..