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

napster94700 Messages postés 82 Statut Membre -  
melanie1324 Messages postés 1561 Statut Membre -
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 ?
Configuration: Windows XP PRO SP3
Firefox
ABIT IP 35 PRO
E8400
2GO RAM 
ALIM CORSAIR X650W
HD4870 ATI MSI
STOCKAGE 1 TO

1 réponse

  1. melanie1324 Messages postés 1561 Statut Membre 156
     
    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