Oui en envoyant cette commande à un Shell("..."), mais il y a mieux, enfin plus propre via les API :
Private Declare Function InitiateSystemShutdown Lib "advapi32.dll" Alias "InitiateSystemShutdownA" (ByVal lpMachineName As String, ByVal lpMessage As String, ByVal dwTimeout As Long, ByVal bForceAppsClosed As Long, ByVal bRebootAfterShutdown As Long) As Long
Public Function InitiateShutdownMachine(ByVal Machine As String, Optional Force As Boolean, Optional Restart As Boolean, Optional Delay As Long, Optional Message As String) As Boolean
Dim RetVal As Long
RetVal = InitiateSystemShutdown("\" & Machine, Message, Delay, Force, Restart) If RetVal 0 Then InitiateShutdownMachine False Else InitiateShutdownMachine = True
End Function
Colle ce code dans un module standard et ensuite tu appelles la fonction InitiateShutdownLMachine(...) en indiquant en 1er arg, le nom de la machine à arrêter (sans les "\" devant) et ensuite eventuellement True/False si tu veux forcer ou pas l'arrêt, puis True/False pour demander ou non le reboot, puis une valeur en seconde pendant laquelle sera afficher le message d'arrêt, et eventuellement une chaine de texte afficher pdt ce delai
Christophe R.