Case vbyes et case vb no non respéctée

Fermé
napster94700 Messages postés 76 Date d'inscription samedi 14 février 2009 Statut Membre Dernière intervention 7 août 2009 - 1 août 2009 à 16:05
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 2 août 2009 à 09:00
Bonjour,
Pouriez vous m'expliquer pourquoi sous Visual Basic 2008

Par exemple sur ce boutton :

Private Sub Button20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button20.Click
If btrestart.Checked = True Then Shell("shutdown -r")
If btstop.Checked = True Then Shell("Shutdown -s -t 28800")
If btsess.Checked = True Then Shell("shutdown -l")
If btstop.Checked = False And btstop.Checked = False And btsess.Checked = False Then
MsgBox("Veuillez cocher l'une des 3 commandes suivantes:" & vbCr & "Eteindre" & vbCr & "Redémarrer" & vbCr & "Fermer La Session" & vbInformation & "Choisissez une commande")
End If

If btstop.Checked Then confirm1 = MsgBox("Etes vous sure de programmer l'Arret du PC ?", vbYesNo, "Confirmation")
Select Case confirm1
Case vbYes
btstop.Enabled = True
Case vbNo
Shell("shutdown -a")
End Select

If btrestart.Checked Then confirm2 = MsgBox("Etes vous sure de programmer le Redémarrage ?", vbYesNo, "Confirmation")
Select Case confirm2
Case vbYes
btrestart.Enabled = True
Case vbNo
Shell("shutdown -a")
End Select

If btsess.Checked Then confirm3 = MsgBox("Etes vous sure de programmer La fermeture de Session", vbYesNo, "Confirmation")
Select Case confirm3
Case vbYes
btsess.Enabled = True
Case vbNo
Shell("shutdown -a")
End Select
End Sub

Normalement lorsque je coche Soit eteindre soit redémarrer soit fermer la session et que je clique sur le boutton 21 il doit me demander dans une fenetre si je suis sure de ma commande.
Et alors la si je clique sur oui, il execute la commande d'activer le boutton stop
If btstop.Checked = True Then Shell("Shutdown -s -t 28800")

et si je clique sur non il execute la commande
Shell("shutdown -a")

Les deux commandes sont bien effectué sauf que cela s'execute avant que je clique sur oui pour confirmer.
Comment réparer cela svp ?
A voir également:

1 réponse

melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
2 août 2009 à 09:00
Bonjour,

Vba n'est pas très bien fait et comme tu l'as écrit, c juste dans la logique mais pas pour vba.
Essaie plutot ca :

Private Sub Button20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button20.Click
If btrestart.Checked = True Then
Shell("shutdown -r")
else
if btstop.Checked = True Then
Shell("Shutdown -s -t 28800")
else
If btsess.Checked = True Then
Shell("shutdown -l")
else
MsgBox("Veuillez cocher l'une des 3 commandes suivantes:" & vbCr & "Eteindre" & vbCr & "Redémarrer" & vbCr & "Fermer La Session" & vbInformation & "Choisissez une commande")
End If
end if
end if

If btstop.Checked Then
confirm1 = MsgBox("Etes vous sure de programmer l'Arret du PC ?", vbYesNo, "Confirmation")
If confirm1 = 6 then 'vbyes
btstop.Enabled = True
else 'vbno
Shell("shutdown -a")
End if
end if

If btrestart.Checked Then
confirm2 = MsgBox("Etes vous sure de programmer le Redémarrage ?", vbYesNo, "Confirmation")
if confirm2 = 6 then
btrestart.Enabled = True
else
Shell("shutdown -a")
End if
end if

If btsess.Checked Then
confirm3 = MsgBox("Etes vous sure de programmer La fermeture de Session", vbYesNo, "Confirmation")
if confirm3 = 6 then
btsess.Enabled = True
else
Shell("shutdown -a")
End if
end if
End Sub
0