salut tout le monde
comment peut on differencier l'evenement change d'un texbox dans les 2 cas
suivants:
1. changement de valeur par l'utilisateur
2. changement de valeur du à un calcul effectué en amont
Merci Jean Marc Après avoir mis en place le code j'ai effectivement pu constater que ça fonctionnait correctement. Aussi je te dit donc un grand merci. Apres une petite réflexion, je me rends compte que comme tu dis que mon interface est trop "intéractive". En tout cas ce post m'aura été tres utile. Donc Merci à tout le monde. Cordialement Flex
"Jean-Marc" a écrit dans le message de news: 418e7913$0$26222$
"Flex" a écrit dans le message de news:
Merci
l'erreur est la suivante: j'obtiens une erreur : division par zéro. parce que Val(lbl_tot_brutHT.Caption) vaut 0 apparemment rien dans un label equivaut à label.caption=vide donc val retourne 0
Nous arrivons donc à des choses intéressantes. Ici, la solution est toute trouvée (si tu ne veux pas changer le design applicatif) :
Private Sub txtRemiseEuros_Change() Dim tmp_RemiseEuros As Double Dim tmp_HT As Double
' anticiaption du calcul exact de lbl_tot_brutHT tmp_HT = cdbl(Val(lbl_tot_brutHT.Caption)) ' test de vraissemblance If tmp_HT<>0.0 Then ' calcul effectif tmp_RemiseEuros = Format(CDbl(Val(txtRemiseEuros)), "0.00") txtRemiseEnPourcent.Text = Format(CDbl(tmp_RemiseEuros * 100) / tmp_HT) End If End Sub
Tu n'as plus qu'à ajouter à ceci le petit truc que je donnais dans un post précédent pour savoir si c'est une modification utilisateur ou calculée. Si tu détectes ici une entrée utilisateur alors que tmp_HT calculée est vide, tu n'a plus qu'à gérer ça proprement: message d'avertissement, RAZ du TextBox, etc.
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
Merci Jean Marc
Après avoir mis en place le code j'ai effectivement pu constater que ça
fonctionnait correctement. Aussi je te dit donc un grand merci.
Apres une petite réflexion, je me rends compte que comme tu dis que mon
interface est trop "intéractive".
En tout cas ce post m'aura été tres utile.
Donc Merci à tout le monde.
Cordialement
Flex
"Jean-Marc" <nospam_jean_marc_n2@yahoo.fr> a écrit dans le message de news:
418e7913$0$26222$ba620e4c@news.skynet.be...
"Flex" <flex@yahoo.co.jp> a écrit dans le message de
news:OW5vcIOxEHA.4076@TK2MSFTNGP10.phx.gbl...
Merci
l'erreur est la suivante: j'obtiens une erreur : division par zéro.
parce que Val(lbl_tot_brutHT.Caption) vaut 0
apparemment rien dans un label equivaut à label.caption=vide donc val
retourne 0
Nous arrivons donc à des choses intéressantes. Ici, la
solution est toute trouvée (si tu ne veux pas changer le
design applicatif) :
Private Sub txtRemiseEuros_Change()
Dim tmp_RemiseEuros As Double
Dim tmp_HT As Double
' anticiaption du calcul exact de lbl_tot_brutHT
tmp_HT = cdbl(Val(lbl_tot_brutHT.Caption))
' test de vraissemblance
If tmp_HT<>0.0 Then
' calcul effectif
tmp_RemiseEuros = Format(CDbl(Val(txtRemiseEuros)), "0.00")
txtRemiseEnPourcent.Text = Format(CDbl(tmp_RemiseEuros * 100) /
tmp_HT)
End If
End Sub
Tu n'as plus qu'à ajouter à ceci le petit truc que je donnais
dans un post précédent pour savoir si c'est une modification
utilisateur ou calculée.
Si tu détectes ici une entrée utilisateur alors que tmp_HT calculée
est vide, tu n'a plus qu'à gérer ça proprement: message d'avertissement,
RAZ du TextBox, etc.
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Merci Jean Marc Après avoir mis en place le code j'ai effectivement pu constater que ça fonctionnait correctement. Aussi je te dit donc un grand merci. Apres une petite réflexion, je me rends compte que comme tu dis que mon interface est trop "intéractive". En tout cas ce post m'aura été tres utile. Donc Merci à tout le monde. Cordialement Flex
"Jean-Marc" a écrit dans le message de news: 418e7913$0$26222$
"Flex" a écrit dans le message de news:
Merci
l'erreur est la suivante: j'obtiens une erreur : division par zéro. parce que Val(lbl_tot_brutHT.Caption) vaut 0 apparemment rien dans un label equivaut à label.caption=vide donc val retourne 0
Nous arrivons donc à des choses intéressantes. Ici, la solution est toute trouvée (si tu ne veux pas changer le design applicatif) :
Private Sub txtRemiseEuros_Change() Dim tmp_RemiseEuros As Double Dim tmp_HT As Double
' anticiaption du calcul exact de lbl_tot_brutHT tmp_HT = cdbl(Val(lbl_tot_brutHT.Caption)) ' test de vraissemblance If tmp_HT<>0.0 Then ' calcul effectif tmp_RemiseEuros = Format(CDbl(Val(txtRemiseEuros)), "0.00") txtRemiseEnPourcent.Text = Format(CDbl(tmp_RemiseEuros * 100) / tmp_HT) End If End Sub
Tu n'as plus qu'à ajouter à ceci le petit truc que je donnais dans un post précédent pour savoir si c'est une modification utilisateur ou calculée. Si tu détectes ici une entrée utilisateur alors que tmp_HT calculée est vide, tu n'a plus qu'à gérer ça proprement: message d'avertissement, RAZ du TextBox, etc.
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."