Ne pas appeler une fonction sur un évènement (onclick)
beegeezzz
Messages postés152Date d'inscriptionmardi 4 novembre 2008StatutMembreDernière intervention10 avril 2017
-
1 juin 2009 à 11:35
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
1 juin 2009 à 13:50
Bonjour tout le monde,
J'ai cette ligne de code :
checkboxPrixOption(i).Value = vbUnchecked
qui appelle d'office ce code :
Private Sub checkboxPrixOption_Click(Index As Integer)
Dim i As Integer
If checkboxPrixOption(Index).Value = vbChecked Then
labelPrixTTC = labelPrixTTC + Val(checkboxPrixOption(Index).Caption)
Else
labelPrixTTC = labelPrixTTC - Val(checkboxPrixOption(Index).Caption)
End If
End Sub
Est-il possible d'empêcher l'appel de la fonction checkboxPrixOption_Click après le passage de la première ligne de code que revoici :
checkboxPrixOption(i).Value = vbUnchecked
Je ne veux en fait que décocher la case mais ne pas toucher à la valeur de la zone de texte.
Merci d'avance pour l'aide.
beegees
A voir également:
Ne pas appeler une fonction sur un évènement (onclick)
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 1 juin 2009 à 12:15
salut,
tu poses beaucoup de questions, plusieurs par jour, il serait peut-être temps de comprendre les réponses données maintenant
le changement de valeur implique l'évènement click (en VB6)
tu sais quand tu fais un changement (toi, pas l'utilisateur)
quand c'est toi, à toi de ne pas exécuter le code
exemple avec un bouton et une checkbox, nommés par défaut
Option Explicit
Dim
bException
As Boolean
Private Sub
Command1_Click()
bException = True
Check1.Value = IIf(Check1.Value = vbChecked, vbUnchecked,
vbChecked)
bException = False
End Sub
Private Sub Check1_Click()
If Not bException Then
If Check1.Value = vbChecked Then
MsgBox "vous venez de cocher"
Else
MsgBox "vous venez de décocher"
End If
End If
End Sub
PS : un LABEL attend une STRING, tu fais une addition?!!!
tu l'as pourtant bien fait pour le checkbox.... (normal, réponse donnée)
pourquoi n'as tu pas adapté aussi pour le label?!!!
de plus dim i ne te sert à rien
Private Sub
checkboxPrixOption_Click(Index
As
Integer
)
If Not bException Then
If checkboxPrixOption(Index).Value = vbChecked Then
labelPrixTTC.Caption = CStr(Val(labelPrixTTC.Caption) + Val(checkboxPrixOption(Index).Caption))
Else
labelPrixTTC.Caption = CStr(Val(labelPrixTTC.Caption) - Val(checkboxPrixOption(Index).Caption))
End If
End If
End Sub
beegeezzz
Messages postés152Date d'inscriptionmardi 4 novembre 2008StatutMembreDernière intervention10 avril 20171 1 juin 2009 à 13:35
Bonjour PCPT,
Merci pour ta réponse.
tu poses beaucoup de questions, plusieurs par jour, il serait peut-être temps de comprendre les réponses données maintenant
Je comprends parfaitement vos réponses et j'applique celles-ci à mon code.
le changement de valeur implique l'évènement click (en VB6)
oui, je le sais, heureusement d'aileur
tu sais quand tu fais un changement (toi, pas l'utilisateur)
quand c'est toi, à toi de ne pas exécuter le code
Merci pour ton exemple.
Entre temps, j'ai trouvé une solution.
J'affiche dans la zone de texte le prix en tout dernier lieu, cela permet donc de soustraire... le résultat final est affiché tout à la fin et n'est donc pas concerné par les changements.
PS : un LABEL attend une STRING, tu fais une addition?!!!
J'additionne des Strings (je récupère les valeurs numérique avec val() avant bien sûr)
tu l'as pourtant bien fait pour le checkbox.... (normal, réponse donnée)
Il me semble que non, j'avais trouvé ça par moi-même (je peux me tromper).
J'ai malheureusement toujours un souci avec ce poste :