Faire une addition [Résolu]

imgKappa 44 Messages postés vendredi 14 mars 2003Date d'inscription 28 avril 2007 Dernière intervention - 23 janv. 2007 à 10:06 - Dernière réponse : cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention
- 23 janv. 2007 à 14:08
Bonjour a tous, je deviens de plus en plus stupide
Voici mon probleme:
J'ai une form avec trois textbox, Text1(0) & Text1(1), et Text2
Je veux faire l'addition de text1 dans text2,
Sachant que je saisie les chiffres au clavier numerique,
Je veux que quand je saisie "12.3" soit inscrit "12.30"
puis pouvoir faire l'addition et le resultat afficher dans Text2 soit "24.60"

Je bloque la dessus, j'ai un trou de memoire, plutot un grouffre

Merci D'avance David
Afficher la suite 

Votre réponse

22 réponses

Meilleure réponse
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 23 janv. 2007 à 10:28
3
Merci
ou alors val(textbox)

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:

Merci drikce06 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 76 internautes ce mois-ci

Commenter la réponse de drikce06
Meilleure réponse
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 23 janv. 2007 à 11:59
3
Merci
Salut,
Avec ta permission Jmfmarques :

Exemple pour comprendre une boucle, et tu verras tu va tout piger !!

Dim Boucle As Interger

Admettons que tu ais 10 zones de Text

For Boucle = 0 to 9
      Text1(Boucle).Text = "Toto"
Next Boucle

'Init
Boucle = 0

Maintenant à toi de l'adapter pour faire le calcul de toutes tes zones de texte..
A+
Exploreur

Merci cs_Exploreur 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 76 internautes ce mois-ci

Commenter la réponse de cs_Exploreur
Meilleure réponse
imgKappa 44 Messages postés vendredi 14 mars 2003Date d'inscription 28 avril 2007 Dernière intervention - 23 janv. 2007 à 13:57
3
Merci
Voici le code nettoyé, avec l'ajout des conseils de jmfmarques
Voila quelque chose propes et claire, du moins je l'espére

Private Sub Command1_Click()
For Boucle = 0 To 1
    Val3 = Val3 + Val(Text1(Boucle).Text)
    Text1(Boucle).Text = Format(Val(Text1(Boucle).Text), "0.00")
Next
Text2.Text = Val3
Text2.Text = Format(Text2.Text, "0.00")
End Sub

Merci imgKappa 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 76 internautes ce mois-ci

Commenter la réponse de imgKappa
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 23 janv. 2007 à 10:12
0
Merci
Salut CInt ou Csng ou Cdbl (textbox) et Format

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Commenter la réponse de drikce06
imgKappa 44 Messages postés vendredi 14 mars 2003Date d'inscription 28 avril 2007 Dernière intervention - 23 janv. 2007 à 10:21
0
Merci
Merci, mais c'est là que cela colle plus

Val1 = CDbl(Text1(0).Text) cela genere un message d'erreur 13 (Incompatibilité)
Commenter la réponse de imgKappa
imgKappa 44 Messages postés vendredi 14 mars 2003Date d'inscription 28 avril 2007 Dernière intervention - 23 janv. 2007 à 10:37
0
Merci
OK,
j'ai ça etsait bon,
mais pour ajouter le zero pour les centieme Ex "12.3" devient "12.30" dans Text1(0), ect....

Private Sub Command1_Click()
Val1 = Val(Text1(0).Text)
Val2 = Val(Text1(1).Text)
Val3 = Val1 + Val2
Text2 = Val3
End Sub


Private Sub Form_Load()
Dim Val1 As String
Dim Val2 As String
Dim Val3 As String
End Sub


 
Commenter la réponse de imgKappa
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 23 janv. 2007 à 10:42
0
Merci
Salut,
Utilise l'instruction Format
A+
Exploreur


 


 
Commenter la réponse de cs_Exploreur
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 23 janv. 2007 à 11:14
0
Merci
Et fait attention aux paramètres régionnaux, le point ou la virgule en séparateur décimal.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Commenter la réponse de cs_casy
imgKappa 44 Messages postés vendredi 14 mars 2003Date d'inscription 28 avril 2007 Dernière intervention - 23 janv. 2007 à 11:16
0
Merci
Voila comme cela c'est OK
Merci à Drikce06 et à Exploreur

Maintenant il le faire sur 17 Textbox(s),
N'aurais-je pas plutot intérrer que faire un tableau en memoire pour effectuer l'addition pour les 17 Textbox

Private Sub Command1_Click()
'Calcul de l'addition
Text2 = Val(Text1(0)) + Val(Text1(1))
'Mise en format des TextBox(s)
Text1(0) = Format(Val(Text1(0).Text), "0.00")
Text1(1) = Format(Val(Text1(1).Text), "0.00")
Text2 = Format(Text2, "0.00")
End Sub


Private Sub Form_Load()
Dim Val1 As String
Dim Val2 As String
Dim Val3 As String
End Sub
Commenter la réponse de imgKappa
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 23 janv. 2007 à 11:27
0
Merci
Pour additionner ?
Pas un tableau mais une simple boucle For puisque tu as déjà affaire à des textboxes indéxées !
Commenter la réponse de jmfmarques
imgKappa 44 Messages postés vendredi 14 mars 2003Date d'inscription 28 avril 2007 Dernière intervention - 23 janv. 2007 à 11:30
0
Merci
comme tu fais cela jmfmarques ?
Commenter la réponse de imgKappa
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 23 janv. 2007 à 11:36
0
Merci
Je ne vais pas te servir un code si simple sur un plateau sans que tu te creuses un peu les méninges...

Tu sais ce qu'es une boucle For... Next ?
(ouvre ton aide en ligne)

Je ne vais pas te faire ton truc, à ce niveau, mais te donner un exemple :

For i = 0 to 4
  msgbox i
next i

Regarde ce que celà fait... observe... et demande-toi comment tu pourrais utiliser i pour te référer aux indexes, pris un par un, de tes textboxes à additionner....

Reviens s'il te plait avec au moins un essai de code (plus que simpliste) si tu rencontres un problème de mise en oeuvre, mais fais d'abord cet effort minimum .
Commenter la réponse de jmfmarques
imgKappa 44 Messages postés vendredi 14 mars 2003Date d'inscription 28 avril 2007 Dernière intervention - 23 janv. 2007 à 12:12
0
Merci
Voila je ne suis pas si stupide que ça quand meme

Private Sub Command1_Click()
For Boucle = 0 To 1
    Val3 = Val3 + Val(Text1(Boucle)) 'Operation d'addition
    Text1(Boucle) = Format(Val(Text1(Boucle).Text), "0.00")   'Mise en forme de la TextBox
Next
Text2 = Val3   'Attribution de la variable
Text2 = Format(Text2, "0.00")   'Mise en forme de la TextBox
End Sub

Merci a tout le monde
Commenter la réponse de imgKappa
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 23 janv. 2007 à 12:54
0
Merci
Je n'ai pas dit que tu étais stupide, mais ne demande pas alors, si tu en connais la syntaxe :
comme tu fais cela jmfmarques ?

Sur ce..
A+
Exploreur
Commenter la réponse de cs_Exploreur
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 23 janv. 2007 à 13:06
0
Merci
quand même ......


Il a compris ! Bon !


Juste une discipline à observer :


- savoir écrire systématiquement Text1(x).text quand il le faut (pour ne pas faire travailler inutilement VB)
- savoir donc (même principe) écrire Text2.Text
- savoir valider la/les réponse(s) qui r'ont mis sur ta voie !




 


Tu as fait là une boucle pour additionner 2 textboxes et il te suffit donc d'augmenter à la valeur que tu veux pour n textboxes
Commenter la réponse de jmfmarques
imgKappa 44 Messages postés vendredi 14 mars 2003Date d'inscription 28 avril 2007 Dernière intervention - 23 janv. 2007 à 13:20
0
Merci
Non bien sur je prend ça a la rigolade, non c'est vrai cela fait 5 ans que je n'ai plus fait de VB6,j'etait su du windev, du coup j'ai un peu perdu le fil mais cela reviens,
Merci a tous le monde,
Maintenant je vais pouvoir attaqué la fusion avec word.
Commenter la réponse de imgKappa
imgKappa 44 Messages postés vendredi 14 mars 2003Date d'inscription 28 avril 2007 Dernière intervention - 23 janv. 2007 à 13:22
0
Merci
Pourquoi le fait de ne pas preciser Text(x).Text fait travailler plus VB?
Commenter la réponse de imgKappa
imgKappa 44 Messages postés vendredi 14 mars 2003Date d'inscription 28 avril 2007 Dernière intervention - 23 janv. 2007 à 13:26
0
Merci
Voici le code nettoyé, avec l'ajout des conseils de jmfmarques
Private Sub Command1_Click()
For Boucle = 0 To 1
    Val3 = Val3 + Val(Text1(Boucle).Text)
    Text1(Boucle) = Format(Val(Text1(Boucle).Text), "0.00")
Next
Text2.Text = Val3
Text2.Text = Format(Text2.Text, "0.00")
End Sub
Commenter la réponse de imgKappa
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 23 janv. 2007 à 13:29
0
Merci
Parce que si tu ne précises pas la propriété concernée (ici .Text), tu forces VB à analyser le contexte afin de déterminer lui-même de quelle propriété il s'agit vraisemblablement ... tout bêtement... alors qu'il n'aurait aucun temps à perdre si tu lui disais toi-même de quelle propriété il s'agit
Commenter la réponse de jmfmarques
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 23 janv. 2007 à 13:32
0
Merci
T'as oublié ici :
Text1(Boucle).text = Format(Val(Text1(Boucle).Text), "0.00")
Commenter la réponse de jmfmarques

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.