Val(Text4.Text) * combo 1 ??? comment faire [Résolu]

Signaler
Messages postés
20
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
11 octobre 2009
-
Messages postés
20
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
11 octobre 2009
-
slt à tous les membres de vb6 c'est ma premier participation dans ce forum et je souhaite que vous m'aiderai

voilà mon problème :

Text6.Text = Val(Text4.Text) *Val(Text5.Text)

je veux remplacer Val(Text5.Text) par Me.Combo1.AddItem "1946 ==> Coeff 42.472 % "


sachant que la liste de combo contient 20 éléments et chaque élément est suivi par un coefficient
par Exemple si l'utilisateur choisira 1946
automatiquement visual basic fera comme de suite
Text6.Text Val(Text4.Text) * Me.Combo1.AddItem "1946> Coeff 42.472 % "

Merci de me donner le code correct pour faire cet opération j'espère ke mon message est claire

Cordialement

10 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
ok, cela change bien des choses...

tu dois pouvoir utiliser ce genre de choses :

Dim nRate as Double
nRate = Val(mid$(Combo1.Text, 16,6))
Text6.Text = FormatNumber(Val(Text4.Text), nRate, 3)

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
j'ai pas de projet ou autre.... j'ai ecrit a la volée, sur le forum.

remplaces simplement

Text6.Text = Val(Text4.Text)* Val(Combo1.Text)

par :

Dim nRate as Double
nRate = Val(mid$(Combo1.Text, 16,6))
Text6.Text = FormatNumber(Val(Text4.Text)* nRate, 3)


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
j'ai pas compris ce que viens faire ce :

Me.Combo1.AddItem "1946 ==> Coeff 42.472 % "

en plein milieu d'une affectation...

souhaites tu faire :

Text6.Text = Val(Text4.Text) * Val(Combo1.Text)

????

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
20
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
11 octobre 2009

d'abord merci pour ta réponse


effectivement

Text6.Text = Val(Text4.Text)*Val(Combo1.Text)

le problème c'est que la liste de Combo1 est comme de suite :

Me.Combo1.AddItem "1946 ==> Coeff 42.472 %"
Me.Combo1.AddItem "1947 ==> Coeff 33.075 %"
Me.Combo1.AddItem "1948 ==> Coeff 23.319 %"

Supposant que vous choisirez dans la liste de combo l'année 1946
je veux que visual basic fait comme ca
Text6.Text = Val(Text4.Text)* 42.472% ( selon la liste combo1 )
Merci d'avance
N.B : je suis pas un développeur ni programmeur je suis k'un simple Comptable et j'essaie d'informatiser mon travaille
Messages postés
20
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
11 octobre 2009

Renfield mon ami je suis un tarleuz dans ce domaine et jé r1 compris dans le dernière code


pourrais-je t'envoyer le projet + le code source pour me corriger ?
jté envoyé un texto en privé
merci d'avance
Messages postés
20
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
11 octobre 2009

Renfield Mon ami Merci Merci bcp té vraiment un génie excellent travaille ca marché le code marche b1 à part un petit petit souci
c'est le pourcentage comment dire à visual basic qu'il s'agit d'un pourcentage ?
et merci bcp


Me.Combo1.AddItem "1948 ==> Coeff 23.319 %"
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
divise par 100 ^^

nRate = Val(mid$(Combo1.Text, 16,6)) / 100

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
20
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
11 octobre 2009

un petit problème merci de me corriger


Dim nRate As Double
nRate = Val(Mid$(Combo1.Text, 16, 6))
Text6.Text = FormatNumber(Val(Text4.Text) * nRate, 3)

Text7.Text = Val(Text1.Text) - Val(Text6.Text)


que dois je faire au lieu de Val(Text6.Text) ?

merci d'avance
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
pour afficher une valeur en tenant compte des paraetres regionnaux de l'utilisateur, j'ai ajouté FormatNumber
ainsi, pour récupérer un double, tu peux utiliser CDbl ou faire :

Dim nRate As Double
Dim nResultatIntermediaireOuToutAutreNomPlusAdapte As Double
nRate = Val(Mid$(Combo1.Text, 16, 6))
nResultatIntermediaireOuToutAutreNomPlusAdapte = Val(Text4.Text) * nRate
Text6.Text = FormatNumber(nResultatIntermediaireOuToutAutreNomPlusAdapte, 3)

Text7.Text = Val(Text1.Text) - nResultatIntermediaireOuToutAutreNomPlusAdapte

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
20
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
11 octobre 2009

Renfield

incroyable merci infiniment marche 100%