fermer la session éteindre le pc etc... sous toute les formes

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

patricktoulon

XLDnaute Barbatruc
Bonjour à tous
une demande viens d'être faite sur le moyen de fermer ou verrouiller la session Windows et même fermer Windows par vba
comme j’étais justement en train de travailler dessus je vous donne une playade de solutions
VB:
Private Declare PtrSafe Function LockWorkStation Lib "user32.dll" () As Long ' à mettre en haut de module

'méthode 1 avec l'api
Sub VerrouillerSession()
    LockWorkStation
End Sub

'méthode 2 avec le sendkeys avec   wscript.shell créé dinamico
Sub VerrouillerSession_Wsh()
    CreateObject("WScript.Shell").SendKeys "^{L}" ' Simule Win + L
End Sub

'méthode 3 avec le run d'un    wscript.shell créé dinamico argument shutdown" et -1 pour  ne fermer que la session
Sub FermerSession()
    CreateObject("WScript.Shell").Run "shutdown -l", 0, False
End Sub

'méthode 4 avec le run d'un  wscript.shell créé dinamico argument shutdown" et -1 pour  ne fermer que la session avec delay
Sub FermerSession_dans_1_minute()
    CreateObject("WScript.Shell").Run "shutdown -l -t 60", 0, False
End Sub

'méthode 4 éteindre le pc immediatement
Sub Eteindre_PC_IMMEDIATEMENT()
    CreateObject("WScript.Shell").Run "shutdown -s -t 0", 0, False
End Sub

'méthode 5 redemarer le pc immédiatement
Sub Redemarrer_PC()
    CreateObject("WScript.Shell").Run "shutdown -r -t 0", 0, False
End Sub

'méthode 6 éteindre le pc dans 1 minute
Sub Eteindre_PC_dans_1_min()
    CreateObject("WScript.Shell").Run "shutdown -s -t 60", 0, False
End Sub

'méthode 7 annuler un arrêt programé
Sub Annuler_Arret()
    CreateObject("WScript.Shell").Run "shutdown -a", 0, False
End Sub

'méthode 8 mettre en veille prolongé
Sub Mettre_En_Veille_Prolongee()
    CreateObject("WScript.Shell").Run "shutdown -h", 0, False
End Sub

'méthode 9 eteindre le pc avec demande de confirmation
Sub Eteindre_Avec_Confirmation()
    If MsgBox("Voulez-vous vraiment éteindre votre PC ?", vbYesNo + vbQuestion, "Confirmation") = vbYes Then
        CreateObject("WScript.Shell").Run "shutdown -s -t 0", 0, False
    End If
End Sub
patrick
 
Bonjour à tous
une demande viens d'être faite sur le moyen de fermer ou verrouiller la session Windows et même fermer Windows par vba
comme j’étais justement en train de travailler dessus je vous donne une playade de solutions
VB:
Private Declare PtrSafe Function LockWorkStation Lib "user32.dll" () As Long ' à mettre en haut de module

'méthode 1 avec l'api
Sub VerrouillerSession()
    LockWorkStation
End Sub

'méthode 2 avec le sendkeys avec   wscript.shell créé dinamico
Sub VerrouillerSession_Wsh()
    CreateObject("WScript.Shell").SendKeys "^{L}" ' Simule Win + L
End Sub

'méthode 3 avec le run d'un    wscript.shell créé dinamico argument shutdown" et -1 pour  ne fermer que la session
Sub FermerSession()
    CreateObject("WScript.Shell").Run "shutdown -l", 0, False
End Sub

'méthode 4 avec le run d'un  wscript.shell créé dinamico argument shutdown" et -1 pour  ne fermer que la session avec delay
Sub FermerSession_dans_1_minute()
    CreateObject("WScript.Shell").Run "shutdown -l -t 60", 0, False
End Sub

'méthode 4 éteindre le pc immediatement
Sub Eteindre_PC_IMMEDIATEMENT()
    CreateObject("WScript.Shell").Run "shutdown -s -t 0", 0, False
End Sub

'méthode 5 redemarer le pc immédiatement
Sub Redemarrer_PC()
    CreateObject("WScript.Shell").Run "shutdown -r -t 0", 0, False
End Sub

'méthode 6 éteindre le pc dans 1 minute
Sub Eteindre_PC_dans_1_min()
    CreateObject("WScript.Shell").Run "shutdown -s -t 60", 0, False
End Sub

'méthode 7 annuler un arrêt programé
Sub Annuler_Arret()
    CreateObject("WScript.Shell").Run "shutdown -a", 0, False
End Sub

'méthode 8 mettre en veille prolongé
Sub Mettre_En_Veille_Prolongee()
    CreateObject("WScript.Shell").Run "shutdown -h", 0, False
End Sub

'méthode 9 eteindre le pc avec demande de confirmation
Sub Eteindre_Avec_Confirmation()
    If MsgBox("Voulez-vous vraiment éteindre votre PC ?", vbYesNo + vbQuestion, "Confirmation") = vbYes Then
        CreateObject("WScript.Shell").Run "shutdown -s -t 0", 0, False
    End If
End Sub
patrick
Bonjour Patrick je viens d'en mettre qquns à l'épreuve dans un Dév et ça tourne comme une horloge !!! good dév 🙂
ça m'a rappelé le shell Unix ou Linux... Bref $Bill n'a rien inventé avec son ShutDown d'autres y ont pensé avant et mieux 😉

Bref chacun sait que derrière le dit Windows c'est un noyau Unix/Linux ne serait-ce que pour la base des mots de passe.... ce que l'on appelle encore la SAM sous Unix/Linux. Et cet utilitaire que j'ai utilisé de nombreuses fois dans le passé pour débloquer des postes continue à mis à jour

pour les puristes Windows il y a encore le RunDll comme ceci que j'ai implémenté sur mon poste via une icône
C:\Windows\System32\rundll32.exe user32.dll,LockWorkStation = équivalent du Windows + L
Bonne journée.
 
Bonsoir,
Je suis tellement ébahi par cette ressource....
Si on s'arrêtait à cette vérité si vraie :
d'ailleurs (par exemple) PQ qui est le fleuron de MS en terme de complément excel(voir même définitivement intégré aujourd'hui) ne va t il pas a l'encontre de ton point de vue
puisqu'il permet de gérer des choses et faire des choses qui n'ont rien avoir avec un tableur
Nul ne pourrait reprocher à Excel/VBA d'Arrêter/Mettre en pause/Danser/Chanter/
Tant que ça permet de gérer des choses qui n'ont rien à voir avec un tableur....
 
Bonjour le fil, le forum

Nul ne pourrait reprocher à Excel/VBA d'Arrêter/Mettre en pause/Danser/Chanter/
Tant que ça permet de gérer des choses qui n'ont rien à voir avec un tableur....

je cite la phrase que j'ai certainement le plus entendu en 30 ans de programmation sous Excel :
"Je ne savais pas qu'on pouvait faire ça avec Excel"
Pour ma part, j'ai programmé sous Excel de nombreux logiciels métier et des logiciels de CAO ou de DAO qui n'ont absolument plus rien à voir avec un tableur.
Excel est une toile sur laquelle je peux peindre, avec l'énorme avantage est qu'il n'y a aucunement besoin d'installer un logiciel ou des dll complémentaires ce qui est souvent impossible sur des matrices pro sans les droits adaptés. Un pack office et si les macros sont activables, cela fonctionne et les mises à jour peuvent se faire automatiquement par le compte de l'utilisateur !

Amicalement,
Bernard_XLD
 
Bonjour Patrick je viens d'en mettre qquns à l'épreuve dans un Dév et ça tourne comme une horloge !!! good dév 🙂
ça m'a rappelé le shell Unix ou Linux... Bref $Bill n'a rien inventé avec son ShutDown d'autres y ont pensé avant et mieux 😉

Bref chacun sait que derrière le dit Windows c'est un noyau Unix/Linux ne serait-ce que pour la base des mots de passe.... ce que l'on appelle encore la SAM sous Unix/Linux. Et cet utilitaire que j'ai utilisé de nombreuses fois dans le passé pour débloquer des postes continue à mis à jour

pour les puristes Windows il y a encore le RunDll comme ceci que j'ai implémenté sur mon poste via une icône
C:\Windows\System32\rundll32.exe user32.dll,LockWorkStation = équivalent du Windows + L
Bonne journée.
Bonjour @oguruma
re oui la ligne de commande dans un raccourci sur le bureau je connaissais ça rappelle des souvenirs 🤣 👍
Bonjour @Bernard_XLD
oui tout a fait d'accords pour moi aussi excel est une paque à la quelle on a ajouter plein de possibilité (soit par des com soit par des librairies accessibles) et je m'en sert
 
Bonjour le fil, le forum



je cite la phrase que j'ai certainement le plus entendu en 30 ans de programmation sous Excel :
"Je ne savais pas qu'on pouvait faire ça avec Excel"
Pour ma part, j'ai programmé sous Excel de nombreux logiciels métier et des logiciels de CAO ou de DAO qui n'ont absolument plus rien à voir avec un tableur.
Excel est une toile sur laquelle je peux peindre, avec l'énorme avantage est qu'il n'y a aucunement besoin d'installer un logiciel ou des dll complémentaires ce qui est souvent impossible sur des matrices pro sans les droits adaptés. Un pack office et si les macros sont activables, cela fonctionne et les mises à jour peuvent se faire automatiquement par le compte de l'utilisateur !

Amicalement,
Bernard_XLD
Bonjour/Bonsoir, je partage l'avis de Bernard_XLD,
"je cite la phrase que j'ai certainement le plus entendu en 30 ans de programmation sous Excel"==> je l'ai encore entendu il y a pas longtemps par un collègue qui semblait bien connaître Excel.... Idem 35 années de Dév.... tous systèmes en passant par du ibm 36/38/4341-81, Bull, Unix,Linux, IBM 3090/COBOL/PL1/DL1/GAP II/GAP III/RPG IV
Ayant eu un poste en clientelle totalement Bridé, configuré pour ce que j'avais à faire... (Chefferie de Projet où les outils sont essentiellement word, powerpoint et excel) j'ai néanmoins eu besoin de faire un peu de code sur des sujets divers...
Bien Merci Excel par lequel j'ai pu tricher via du VBA... Une feuille, un bouton et derrière ce bouton tout le code qu'il me fallait !
Livraison à l'utilisateur avec un Pt'it ModOP et Hop ! affaire résolue !
Temps passé : une journée.
Dans le process Normal... demande de droits pour installer un soft auquel je n'avais pas droit, circuit de validation par les n+1... passer par l'admin windows maison, bref ça aurait pris des "plombes" !
VBA c'est le couteau suisse... à utiliser avec précaution de la même manière qu'une caisse à outils 🙂
c'est comme le piment en cuisine ça donne du goût, de la saveur mais mal utilisé la fête est gâchée !
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour