patricktoulon
XLDnaute Barbatruc
Bonjour a tous
il est arrivé a plusieurs d'entres nous d'utiliser le "Application.sendkeys"..." en VBA EXCEL et de voir notre pavé numérique se désactiver
ce "Bug" est connu depuis des décennies
a ce jour par l’intermédiaire de l'api getkeystate on peux savoir si le pavé est activé ou non et selon un sendkeys"{NUMLOCK}" règle le problème
ça reste fastidieux et certaines personnes ne voudrons pas se servir des api windows
j'ai découvert ces deux derniers jour comment solutionner le problème d'une manière dont le mot simple est un euphémisme
il s’avère que quand le pavé se désactive un sendkeys (n'importe quelle lettre ou touche system ) le réactive
problème cette touche n'est pas désiré
alors j'ai tenté un sendkeys vide (application.sendkeys"") et la surprise!!! la mémoire du sendkeys est vidée et comme aucun code n'est envoyé aucune touche n'est simulée mais le pavé est réactivé
il s’avère après test que si le pavé n'aurait pas été désactivé ça n'a aucun effet ben bingo alors
un exemple parlant: la simulation de la touche snapshot qui la fâcheuse manie de désactiver le pavé a chaque coup
et bien la solution est simple
c'est propre net et nul besoins d'autre chose
Application.sendkeys"" is the solution
il est arrivé a plusieurs d'entres nous d'utiliser le "Application.sendkeys"..." en VBA EXCEL et de voir notre pavé numérique se désactiver
ce "Bug" est connu depuis des décennies
a ce jour par l’intermédiaire de l'api getkeystate on peux savoir si le pavé est activé ou non et selon un sendkeys"{NUMLOCK}" règle le problème
ça reste fastidieux et certaines personnes ne voudrons pas se servir des api windows
j'ai découvert ces deux derniers jour comment solutionner le problème d'une manière dont le mot simple est un euphémisme
il s’avère que quand le pavé se désactive un sendkeys (n'importe quelle lettre ou touche system ) le réactive
problème cette touche n'est pas désiré
alors j'ai tenté un sendkeys vide (application.sendkeys"") et la surprise!!! la mémoire du sendkeys est vidée et comme aucun code n'est envoyé aucune touche n'est simulée mais le pavé est réactivé
il s’avère après test que si le pavé n'aurait pas été désactivé ça n'a aucun effet ben bingo alors
un exemple parlant: la simulation de la touche snapshot qui la fâcheuse manie de désactiver le pavé a chaque coup
et bien la solution est simple
VB:
Sub test()
For i = 1 To 20
Application.SendKeys "(%{1068})", True'avec"%"=fenetre active ; sans le "%" =plein écran
Application.SendKeys ""
DoEvents
ActiveSheet.Paste
Next
End Sub