Souci avec la fonction Sleep
Bonjour,
désolé mais je suis novice en la matière, mais j'essaie de modifier une macro qui m'a été donnée en y ajoutant simplement une pause d'une demie seconde.
Je maitrise la fonction Wait mais elle ne permet d'attente que de seconde en seconde.
Après mes recherches sur le forum j'ai semble-t-il trouvé une partie de la solution, une partie car ma macro ne tourne pas
Si j'ai bien compris je dois déclarer la fonction sleep de la manière suivante :
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub tempo()
'tempo 5/10 seconde
Sleep 500 'pause en millisecondes
Mais en l'insérant à ma macro j'ai un message me disant qu'il est impossible d'exécuter la macro, la voici =>
Sub LOTO()
SetCursorPos 1097, 467 'position x,y
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
End Sub
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub tempo()
'tempo 5/10 seconde
Sleep 500 'pause en millisecondes
End Sub
Sub LOTOsuite()
SetCursorPos 1052, 780 'position x,y
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
End Sub
Merci d'avance pour votre aide
Bonjour Jojolunette
Ou la... commence peut-être par bouquiner un peu
Voilà comment tu devrais faire
Option Explicit
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub LOTO()
SetCursorPos 1097, 467 'position x,y
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
'pause en millisecondes
Tempo 500
' On continue
SetCursorPos 1052, 780 'position x,y
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
End Sub
Sub Tempo(How As Long)
'tempo 5/10 seconde
Sleep How
End SubA+
Bonjour
merci pour ta réponse, oui dsl je suis novice et je ne pense pas avoir besoin de faire d'autres macros pour les 10 ans à venir, d'où mon ignorance et la non lecture de toutes les pages de tutos
par contre quand j'exécute ta macro j'ai un message bloquant sur le 1er Sub m'indiquant
"le code contenu dans ce projet doit être màj pour pouvoir être utilisé sur des systèmes 64bits. Vérifiez et mettez à jour les instructions déclare , puis marquez les avec l'attribut PtrSafe"
encore un peu de chinois pour moi
Re,
Apparemment tu as un pack Office 64bits, à ce moment là, il faut déclarer les accès aux bibliothèques comme ceci
Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)A+