Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 desactiver clavier

  • Initiateur de la discussion Initiateur de la discussion cisco38
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

en voila une qui bloque aussi le pavé numérique
VB:
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
 
re
chez moi la mienne fonctionne pour le pavé numérique
@Yeahou
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 le createobject("wscript.shell").sendkeys ("{NUMLOCK}")

et encore !! il y en aurait beaucoup plus a dire ,comme par exemple tester d'abord avec le getkeystate savoir si elle est active ou pas

@mapomme Bonsoir
je ne bloque que les lettre et les chiffres il faudrait bien sur bloquer toutes les autres touches
 
Bonjour le fil, le forum
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 le createobject("wscript.shell").sendkeys ("{NUMLOCK}")
Patrick,
le vieux que je suis se rappelle qu'il est déconseillé de l'utiliser car il a un comportement erratique qui bloque parfois le pavé numérique 🤔 et qu'on le débloquait en forçant une commande 🤔🤔
VB:
SendKeys ("{NUMLOCK}"), True
il y en aurait beaucoup plus a dire ,comme par exemple tester d'abord avec le getkeystate savoir si elle est active ou pas
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 .

Je te souhaite une bonne journée.
Bien cordialement,
Bernard
 
Dernière édition:
Toujours pareil sur mon PC : aucun blocage du clavier numérique.
et avec wscript ?
VB:
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
 
re
bonjour yeahou ca fonctionne mais en mode edition(dblclick dans les cellules) les touches fonctionnent dans les cellule
Ben je suis pas le seul à avoir besoin de lunettes, ça fait plaisir ! 🤭 😄😂🤣 🤣 🤣
d'ailleurs, ça marche aussi avec F2
à 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
 
Dernière édition:
allez encore un petit code,
désactive aussi les touches de fonction et la barre de formule
VB:
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
couplé à une événementielle pour le double clic (à placer dans le module de feuille)
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = Double_Clic_en_Cours
End Sub
 
Bonjour Yeahou, Patrick, le fil,

j'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 ?​

soan
 
et avec wscript ?
Pas de changement 😕
Il va falloir envisager la méthode radicale de @soan . Mais les ciseaux ne fonctionneront pas. Mon clavier est sans fil.

Et puis comme je ne cesse de répéter : il vaut mieux éduquer l'utilisateur sur quoi faire et ne pas faire. Il apprendra sans doute des choses qu'il ignorait sur Excel et sur Windows. Il en sera généralement ravi et saura agir en toute connaissance des conséquences de ses actes. Et pour celui qui l'a (in)formé, c'est très gratifiant.
Un utilisateur averti en vaut 2^10.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
640
Réponses
1
Affichages
509
Réponses
2
Affichages
174
Réponses
4
Affichages
406
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…