desactivé l'ecran de veille windows

  • Initiateur de la discussion Thomas®
  • Date de début
T

Thomas®

Guest
Bonjour le forum,

je cherche un moyen de desactiver l'ecran de veille durant l'execution de ma macro.

est ce possible ?

D'avance merci
Thomas
 
T

Thomas®

Guest
Bonjour BERKAY, le forum,

Merci BERKAY pour ce conseil plein de sagesse, désactiver l'écran de veille de façon manuel est une solution, mais le but des macros est d'automatiser.

Les macros que je fais ne sont pas utilisés par moi. et malheureusement les personnes en question ne connaisse rien en vba et de ce fait ne vont pas ce soucier de désactiver l'écran de veille avant de l'exécuter.

Dans le cas de ma macro l'écran de veille vient tout bloquer car ma macro travail sur la page active et non sur une page nommé (je n’ai pas le choix).

Pour info je suis sous Windows XP Pro avec Excel 97 (ou 2003).

Si quelqu'un connaît une solution ce serait vraiment sympa.

J’imagine que l'écran de veille faisant parti intégrante de Windows peut être piloté par Excel par le biais d'un activix ou OCX :pinch: (enfin) un truck du genre.

D'avance merci
Thomas
 

Ti_

Nous a quitté
Repose en paix
Essaie avec cette fonction (je ne l'ai pas testée, mais normalement ça marche)

Const SPI_SETSCREENSAVEACTIVE = 17
Declare Function SystemParametersInfo Lib 'user32.dll' Alias _
'SystemParametersInfoA' (ByVal uAction As Long, ByVal uiParam As Long, _
pvParam As Any, ByVal fWinIni As Long) As Long

Sub ActiveScreenSaver(OnOff As Boolean) 'Ti
Dim Ret&
Ret = SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, OnOff, 0, 0)
End Sub
 
T

Thomas®

Guest
Bonsoir Ti_, le forum,

Merci pour ta reponse, cela fonctionne impec

pour les gens que cela pourait intéréser, ce code nécéssite d'être placer un modul pour fonctionner, deplus quand on l'appel il est obligatoir de preciser 'ActiveScreenSaver (OnOff = 0)' pour activer l'ecran de veille et 1 au lieu de 0 pour le désactiver.

je ne sais pas si c'est le seul moyen mais moi j'ai fait comme ca et ca marche.

si ce n'est pas trop demander, pouvez vous m'expliquer ce que veux dire ce code (afin que par la suite je puisse moi aussi en créer ou même l'adapter à autre chose).

Bonne soirée
Thomas®
 

Ti_

Nous a quitté
Repose en paix
non, OnOff est un boolean, il te suffit de l'appeler ainsi :

ActiveScreenSaver True
pour l'activer

et ActiveScreenSaver False
pour le désactiver.

la façon dont tu l'écris induis un test booléen (OnOff = 0), ce qui n'est vraiment pas une bonne façon de faire (mais ce n'est pas un reproche bien sûr).
 
T

Thomas®

Guest
Merci Ti_ pour cette corréction cela sera plus simple pour moi et plus logique il faut dire.

sinon peux tu m'expliquer ce que veut dire ca :

Const SPI_SETSCREENSAVEACTIVE = 17
Declare Function SystemParametersInfo Lib 'user32.dll' Alias _
'SystemParametersInfoA' (ByVal uAction As Long, ByVal uiParam As Long, _
pvParam As Any, ByVal fWinIni As Long) As Long


j'imagine que que la gestion de l'ecran de veille ce fait par user32.dll
et que (Byval....)est la maniere de communiquer avec??

Je pense qu'avec des procedures de même type on peut faire plein de chose.

Merci
Thomas®
 
T

Thomas®

Guest
Bonsoir le forum,

Savez vous comment puis je faire pour désactiver la mise en veille de l'ordinateur (car l'annulation de l'ecran de veille n'est pas sufisant dans mon cas car même si l'ecran de veille ne se declanche plus j'ai l'ordinateur qui ce met en veille).

si quelqu'un connait une astuce ce serait super

D'avance merci
Thomas®
 

Discussions similaires

Réponses
2
Affichages
232

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote