eastpeople
Messages postés105Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 novembre 2008
-
18 juin 2008 à 11:49
eastpeople
Messages postés105Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 novembre 2008
-
18 juin 2008 à 17:22
Bonjour, j'ai un petit problème sur ce code :
Private Sub case1_Click()
Dim Reponse As Variant
If MODIFICATION Then Exit Sub
If case1 = False Then
'si la case chekbox1 n'est pas cocher alors
prix1.Enabled = False
'la case prix1 n'est pas griser
Else
prix1.Enabled = True
'la case prix1 est griser (pas accessible)
Do While Reponse = ""
Reponse = Application.InputBox("Veuillez entrer le prix correspondant SVP", "PRIX")
'inputbox apparaît quand une case chekbox est coché
If Reponse = False Then
'si on click sur annuler de l'inputbox Reponse alors
case1 = False
'la case est décochée
Exit Do
Else
'sinon
prix1.Text = Reponse
End If
'si la case est coché mais que le prix est vide alors
erreur = MsgBox("Vous avez coché la case, veuillez rentrer un prix", vbOKOnly + vbCritical, "OUPS")
'msgbox
Loop
End If
End Sub
Alors, quand l'inputbox s'ouvre, si on click sur annuler ça sort, si on click sur Ok sans rien marqué cela nous envoi un msgbox et nous remet sur l'input mais quand on rentre un chiffre puis que l'on click sur Ok, il nous envoi quand même l'msgbox erreur.
Je pensais déplacer le Loop mais je ne sais pas si c'est cela.
Merci de votre aide.
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 18 juin 2008 à 17:16
...
fait gaffe c'est bien Do While Reponse = "" j'ai aussi modifié d'autre partie:
Private Sub case1_Click()
Dim Reponse As Variant
If MODIFICATION Then Exit Sub
If case1 = False Then
'si la case chekbox1 n'est pas cocher alors
prix1.Enabled = False
'la case prix1 n'est pas griser
Else
prix1.Enabled = True
'la case prix1 est griser (pas accessible)
Do While Reponse = ""
Reponse = Application.InputBox("Veuillez entrer le prix correspondant SVP", "PRIX")
'inputbox apparaît quand une case chekbox est coché
If Reponse = False Then
'si on click sur annuler de l'inputbox Reponse alors
case1 = False
'la case est décochée
Exit Do
Elseif Reponse = "" then
'si la case est coché mais que le prix est vide alors
erreur = MsgBox("Vous avez coché la case, veuillez rentrer un prix", vbOKOnly + vbCritical, "OUPS")
'msgbox
Else
'sinon
prix1.Text = Reponse
End If
Loop
End If
End Sub