Ben non !elle est plus simple la mienne et elle bloque aussi le pavé numérique
Sub Bloque_Clavier()
Dim Compteur As Byte
On Error Resume Next
For Compteur = 1 To 255
Application.OnKey Chr(Compteur), ""
Next Compteur
SendKeys ("{NUMLOCK}")
End Sub
Sub Debloque_Clavier()
Dim Compteur As Byte
On Error Resume Next
For Compteur = 1 To 255
Application.OnKey Chr(Compteur)
Next Compteur
SendKeys ("{NUMLOCK}")
End Sub
Je ne l'avais pas proposé car sur mon PC il n'y a aucun blocage du clavier numériqueelle est plus simple la mienne et elle bloque aussi le pavé numérique
Toujours pareil sur mon PC : aucun blocage du clavier numérique.en voila une qui bloque aussi le pavé numérique
createobject("wscript.shell").sendkeys ("{NUMLOCK}")
Patrick,tu ne le sais peut être pas mais il est TRÈS FORTEMENT!!! déconseillé d'utiliser le sendkey de vba ou de l'application utilise plutôt lecreateobject("wscript.shell").sendkeys ("{NUMLOCK}")
SendKeys ("{NUMLOCK}"), True
Mouaih, on peut aussi dans ton code tester la MAJ pour ne traiter qu'une fois les lettres [Edition: j'aurai dù mettre mes lunettes, car tu traites déja avec Ucase, cela m'aurait évité de dire une bétise, désolé, c'est pas bon de vieillir], même si je n'ai repris le forum Xld que récemment après une longue, longue parenthèse (le jeune retraité que je suis devenu depuis peu a maintenant un peu voire beaucoup de temps), je ne suis pas un perdreau de la dernière couvée .il y en aurait beaucoup plus a dire ,comme par exemple tester d'abord avec le getkeystate savoir si elle est active ou pas
Ah bon ? tu peux essayer en forçant pour voir ?Toujours pareil sur mon PC : aucun blocage du clavier numérique.
SendKeys ("{NUMLOCK}"), False
Doevents
SendKeys ("{NUMLOCK}")
et avec wscript ?Toujours pareil sur mon PC : aucun blocage du clavier numérique.
Option Explicit
Private Declare PtrSafe Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Sub Bloque_Clavier()
Dim Compteur As Byte
On Error Resume Next
For Compteur = 1 To 255
Application.OnKey Chr(Compteur), ""
Next Compteur
DoEvents
If GetKeyState(vbKeyNumlock) = 1 Then CreateObject("wscript.shell").SendKeys ("{NUMLOCK}")
End Sub
Sub Debloque_Clavier()
Dim Compteur As Byte
On Error Resume Next
For Compteur = 1 To 255
Application.OnKey Chr(Compteur)
Next Compteur
DoEvents
If GetKeyState(vbKeyNumlock) = 0 Then CreateObject("wscript.shell").SendKeys ("{NUMLOCK}")
End Sub
Ben je suis pas le seul à avoir besoin de lunettes, ça fait plaisir !re
bonjour yeahou ca fonctionne mais en mode edition(dblclick dans les cellules) les touches fonctionnent dans les cellule
à la barbare, mais ça fonctionne pour le clavier en laissant la souris fonctionnelle.
la saisie reste possible par double clic ou la barre de formule
Option Explicit
Private Declare PtrSafe Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Public Double_Clic_en_Cours As Boolean
Sub Bloque_Clavier()
Dim Compteur As Byte
On Error Resume Next
For Compteur = 1 To 255
If Compteur < 13 Then Application.OnKey "{F" & Compteur & "}", ""
Application.OnKey Chr(Compteur), ""
Next Compteur
Application.DisplayFormulaBar = False
Double_Clic_en_Cours = True
DoEvents
If GetKeyState(vbKeyNumlock) = 1 Then CreateObject("wscript.shell").SendKeys ("{NUMLOCK}")
End Sub
Sub Debloque_Clavier()
Dim Compteur As Byte
On Error Resume Next
For Compteur = 1 To 255
If Compteur < 13 Then Application.OnKey "{F" & Compteur & "}"
Application.OnKey Chr(Compteur)
Next Compteur
Application.DisplayFormulaBar = True
Double_Clic_en_Cours = False
DoEvents
If GetKeyState(vbKeyNumlock) = 0 Then CreateObject("wscript.shell").SendKeys ("{NUMLOCK}")
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = Double_Clic_en_Cours
End Sub
soan.Reset ou soan.Shutdown au choixj'voudrais faire des économies sur ma facture EDF ; t'aurais pas aussi un code pour désactiver le courant pendant qu'j'me sers de mon PC ?
Pas de changementet avec wscript ?
Pas de changement