Problème Shutdown time - VB/VBA/VBS - Programmation
Marsh Posté le 01-08-2009 à 21:05:59
Bonsoir,
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
end if
Cordialement
Marsh Posté le 01-08-2009 à 21:14:17
Bonsoir seniorpapou
Merci de ta réponse
Mais ce n'es pas exactement la même commande que mois mis apart que j'ai fait mon if en une seule ligne ?
Marsh Posté le 01-08-2009 à 21:24:55
Sa ne marche toujours pas :s
Il n'attend pas que je lui confirme oui
Marsh Posté le 02-08-2009 à 07:04:01
Bonjour,
fais un copier coller de ta séquence.
Ton if en une seule ligne ne fonctionne pas du tout comme le If que je t'ai indiqué:
En "une seule ligne", dans le cas où btstop.Checked est vrai, seule la partie confirm1 = MsgBox("Etes vous sure de programmer l'Arret du PC ?", vbYesNo, "Confirmation" ) avec enchainement sur select case
est exécutée. Et, lorsque btstop.Checked est faux : on enchaine sur "select case" , ce que tu ne souhaites pas.
Dans le modèle que je t'ai donné, l'ensemble de la séquence :
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
Est exécutée dans le cas où btstop.Checked est vrai et l'ensemble de la séquence est sautée dans le cas où btstop.Checked est faux.
Bien entendu il te faut appliquer ce modèle sur tes trois "If"
Cordialement
S'il enchaine systématiquement c'est parce que btstop.Checked et les autres sont tous à "false"
Marsh Posté le 02-08-2009 à 12:51:28
Bonsoir oui je m'en suis rendu compte après (logique)
Mais sa ne marche toujours pas c'est bizarre
If btstop.Checked = False And btrestart.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
End If
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
End If
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 If
If btrestart.Checked = True Then Shell("shutdown -s -t 300" )
If btstop.Checked = True Then Shell("shutdown r" )
If btsess.Checked = True Then Shell("shutdown -l" )
End Sub
Marsh Posté le 02-08-2009 à 15:02:00
Ah si c'est bon sa marche
A la place de shutdown -a j'ai mi exit sub
Merci de ton aide pour le IF tu m'a bien aider
J'ai juste un petit probleme dans le corp d'une msgbox
MsgBox("Veuillez cocher l'une des 3 commandes suivantes:" & vbCr & "- Eteindre" & vbCr & "- Redémarrer" & vbCr & "- Fermer La Session" & vbInformation & "Choisissez une commande" )
Cela me fait une erreur avec le titre et il m'affiche 64 :
http://img34.imageshack.us/img34/1373/msgbox.gif
Marsh Posté le 02-08-2009 à 15:03:42
Résolu :
MsgBox("Veuillez cocher l'une des 3 commandes suivantes:" & vbCr & "- Eteindre" & vbCr & "- Redémarrer" & vbCr & "- Fermer La Session", vbInformation, "Choisissez une commande" )
Encore un petit probleme ^^
Par défault le premier bouton est bleui, ce qui fait que si j'appui sur entré sur le clavier sa l'activre.
Comment désactiver cela ?
Marsh Posté le 02-08-2009 à 16:24:11
Bonsoir,
il faut faire un "setfocus" sur autre chose à l'ouverture du formulaire
plus simplement: ne pas faire "entrée" si tu n'en a pas besoin
ou encore sur ton formulaire en mode création: clic droite sur le carré noir en haut à gauche et sélectionne ordre de tabulation, tu peux alors mettre en tête l'objet où tu veux voir le focus se mettre à l'ouverture
Marsh Posté le 02-08-2009 à 16:47:50
Merci à toi
plus simplement: ne pas faire "entrée" si tu n'en a pas besoin
Lol oui ^^ C'est juste histoire de savoir comment faire
il faut faire un "setfocus" sur autre chose à l'ouverture du formulaire
Comment on fait exactement ?
clic droite sur le carré noir en haut à gauche et sélectionne ordre de tabulation,
J'ai pas sa
Marsh Posté le 02-08-2009 à 17:42:03
Salut ,effectivement jouer sur TabIndex ou voir aide en ligne sur Button.IsDefault
Marsh Posté le 02-08-2009 à 17:44:59
Merci beaucoup a tous
Et encore un probleme sans vouloir faire mon relou ^^
Code :
If btrestart.Checked = True Then Shell("shutdown -s -t 600" )
If btstop.Checked = True Then Shell("shutdown -r -t 600" )
If btsess.Checked = True Then Shell("shutdown -l -t 600" )
En effet ici si je clique sur ce boutton donc et que btsess est coché, le pc devrait fermer la session dans 600 secondes après ma confirmation OUI.
Sauf que quand je confirme, il ferme la session de suite.
Si tu connais un peu cette commande pourrait tu m'éclairer.
merci
Marsh Posté le 03-08-2009 à 06:36:45
bonjour,
le -t n'est pris en compte que pour les mises hors tension , le -l étant une fermeture de session et non une mise hors tension , le -t n'est pas pris en compte.
il est bon pour -s et -r
J'ai testé sous cmd
Cordialement
Marsh Posté le 03-08-2009 à 13:16:32
donc on ne peut retarder un redémarrage et une fermeture de session ?
Marsh Posté le 03-08-2009 à 15:38:44
Sa y est effectivement sa ne marche que pour restart et eteindre
J'ai fini mon petit programme de débutant
Pourriez vous me dire comment je pourrais améliorer le code ?
Notamment au niveau des boutons ?
Voila j'ai tout uploader ici:
http://www.megaupload.com/?d=J1ZE19SM
Merci ^^
Marsh Posté le 03-08-2009 à 16:10:46
Bonsoir,
difficile de critiquer ton projet. J'ai réussi à lancer ton exécutable, c'est du VB? je ne pratique pas. Toutefois, je me demande pourquoi tu n'as pas utilisé des zones de liste, une pour les heures, l'autre pour les minutes. Mais c'est une question de choix
Marsh Posté le 03-08-2009 à 16:24:15
Bonsoir ou c'est mon deuxieme logiciel avec visual basic 2008
Car je ne savais pas encore faire avec le timer pour faire sa mais sa sera le prochain ^^
Marsh Posté le 03-08-2009 à 16:25:37
Re,
waoohhh, je viens de lire ton code dans le form. Si tu tiens à conserver les boutons, je crois que tu dois pouvoir simplifier en appelant depuis chaque bouton_clic un SUB... avec des paramètres d'appel : le temps et le choix de shutdown.
Ainsi les séquences que tu répètes dans chaque bouton_clic, se réduisent à une seule.
Marsh Posté le 01-08-2009 à 16:06:06
Edit: problème en fin de page
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 ?
Message édité par hitman94 le 03-08-2009 à 03:10:50