Addition de valeur dans des textbox a l'aide d'un bouton. (visual basic 6) [Résolu]

dye_xtreme 7 Messages postés lundi 26 décembre 2005Date d'inscription 31 décembre 2005 Dernière intervention - 26 déc. 2005 à 15:43 - Dernière réponse : dye_xtreme 7 Messages postés lundi 26 décembre 2005Date d'inscription 31 décembre 2005 Dernière intervention
- 26 déc. 2005 à 22:13
Bonjour a tous,

Je suis tout nouveau en programmation VB et j'aurais grandement besoin de votre aide.

Jai 7 textbox, txtforce1, txtagi1, txtref1, txtpreci1, txtconsti1 et txttot1.
Ainsi que 8 boutton de commande : cmdpasser1, cmdlancer1, cmdcognard1, cmdeviter1, cmdtacler1, cmdrecevoir1, cmdattraper1 et cmdarreter1.
Jai déclarer mes variable de la facon que voici :

Dim force1 As Integer
Dim agi1 As Integer
Dim ref1 As Integer
Dim preci1 As Integer
Dim const1 As Integer
Dim diff1 As Integer
Dim total1 As Integer
force1 = txtforce1.Text
agi1 = txtagi1.Text
ref1 = txtref1.Text
preci1 = txtpreci1.Text
consti1 = txtconsti1.Text
diff1 = txtdiff1.Text
total1 = txttot1.Text

Je voudrais que lorsque j'appuie sur cmdpasser1 la formule mathématique suivante se fasse : force1 + preci1 - diff1 = total1 et le résultat doit s'affiché dans txttot1.

Et le résultat de total1 doit etre reseter lorsque j'appuirai sur un autre bouton.

Je ne sais pas si jai été assez claire, jespere que oui.

Sinon vous pouver me contacter par msn a : [mailto:dye_xtreme@hotmail.com dye_xtreme@hotmail.com]

Merci!
Afficher la suite 

5 réponses

Meilleure réponse
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 26 déc. 2005 à 16:16
3
Merci
salut

VB6?



un truc de ce genre...


Option Explicit

'

Dim Force1 As Integer

Dim Agi1 As Integer

Dim Ref1 As Integer

Dim Preci1 As Integer

Dim Consti1 As Integer

Dim Diff1 As Integer

Dim Total1 As Integer

'

'

' *- FORM LOAD -*

Private Sub Form_Load()

' clear les zones

txtforce1.Text = ""

txtagi1.Text = ""

txtref1.Text = ""

txtpreci1.Text = ""

txtconsti1.Text = ""

txtdiff1.Text = ""

txttot1.Text = ""

End Sub

'

'

' *- CLICK CMDPASSER1 -*

Private Sub cmdpasser1_Click()

Call InitValeurs '<- à faire à chaque click

Total1 = Force1 + Preci1 - Diff1

txttot1.Text = CStr (Total1)

End Sub

'

'

' *- RECUPèRE LES ZONES EN "INT" -*

Private Sub InitValeurs()

Force1 = Val(txtforce1.Text)

Agi1 = Val (txtagi1.Text)

Ref1 = Val(txtref1.Text)

Preci1 = Val (txtpreci1.Text)

Consti1 = Val(txtconsti1.Text)

Diff1 = Val (txtdiff1.Text)

txttot1.Text = "" '<- reset mais on le verra même pas

End Sub




<small> Coloration
syntaxique automatique [AFCK]</small>



PCPT [AFCK]

Merci PCPT 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

ScSami 1490 Messages postés mercredi 5 février 2003Date d'inscription 3 décembre 2007 Dernière intervention - 26 déc. 2005 à 20:37
0
Merci
En effet. Autrement dit, tu dois déclarer ta variable "Total1" en haut du code de ta Form [ton programme] (ou alors dans un module de code) pour qu'elle soit de type globale et être ainsi partagée par toutes les autres procédures et fonctions.

Cependant, il existe un autre moyen...
En effet, le problème qui peut se produire si tu déclare une variable comme étant globale (en la placant tout en haut de ton code donc !) c'est que tu ne pourras pas, à l'intérieur de tes procédures, utiliser le même nom pour représenter autre chose (comme un autre total) à part, comme tu l'avais prévu, en numérotant les variables.

L'autre solution consiste donc à déclarer ta variable comme étant permanente (et non "contante" ce qui est autre chose). C'est à dire qu'elle ne s'effacera pas entre deux appels de la procédure dans laquelle la variable sera déclarée :

Private Sub cmdpasser1_Click()
Static Total1 As Integer
Call InitValeurs '<- à faire à chaque click
Total1 = Force1 + Preci1 - Diff1
txttot1.Text = CStr (Total1)
End Sub

Du coup, lorsque "End Sub" est atteind, eh bien la variable Total1 ne s'efface pas.
Mais attention avec les variables qui ne s'efface pas car elles sont taquine et joue souvent des tours à leur manière... Et le débuggage n'en est que plus difficile!

Enjoy

<hr size ="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 26 déc. 2005 à 21:46
0
Merci
ou calcul direct.



- soit avec le point

avec risque de troncation par Val()




Private Sub cmdpasser1_Click()
txttot1.Text = Str$( Val (txtforce1.Text) + Val(txtpreci1.Text) - Val(txtdiff1.Text))
End Sub



- ou dépendant de la configuration

avec risque de plantage si pas numérique




Private Sub cmdpasser1_Click()
txttot1.Text = txtforce1.Text + txtpreci1.Text - txtdiff1.Text
End Sub


Daniel
dye_xtreme 7 Messages postés lundi 26 décembre 2005Date d'inscription 31 décembre 2005 Dernière intervention - 26 déc. 2005 à 22:01
0
Merci
le premier fonctionne tres bien!

merci a vous tous!
dye_xtreme 7 Messages postés lundi 26 décembre 2005Date d'inscription 31 décembre 2005 Dernière intervention - 26 déc. 2005 à 22:13
0
Merci
Voici mon probleme,
4 data source : data1, data2, data3 et data4
4 bouton : command1, command2, command3 et command4
ainsi que 7 textbox : text1, text2 .... text7

je voudrais savoir si il a un moyen que lorsque jappuie sur command1, le datasource soit data1 et que mes textbox soit alors associer a la data1 et que la source se modifie si jappuie sur command2 pour data2, command3 pour data3 et command4 pour data4.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.