Comment réactiver automatiquement par code Vba mon pavé numérique désactivé?

Grec -  
 Grec -
Salut à toutes et à tous,
J'ai un formulaire Access où je saisie des notes. Il arrive qu'en voulant taper le chiffre 7, j'appuie la touche Verr Num et désactive mon pavé numérique. Comment le réactiver automatiquement par code Vba.

3 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, ceci change l'activation du pavé numérique:
    Private Sub numer()
    Dim WshShell As WshShell
    Set WshShell = New WshShell
    WshShell.SendKeys "{NUMLOCK}"
    End Sub
    0
  2. Grec
     
    Bonsoir et merci de votre réponse
    Je dois mettre le code sur quel événement
    du formulaire ou de la zone de texte ?
    Merci et bonne soirée
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      ceci va vérifier que NumLock est actif, et, si il ne l'est pas, va l'activer.
      Option Explicit
      Private Declare PtrSafe Function GetKeyboardState Lib "user32" _
          (pbKeyState As Byte) As Long
      Private Sub ToggleNumLock()
      Dim WshShell As WshShell
      Set WshShell = New WshShell
      WshShell.SendKeys "{NUMLOCK}"
      End Sub
      Private Function GetNumLock() As Boolean
          Dim keys(0 To 255) As Byte
          GetKeyboardState keys(0)
          GetNumLock = keys(KeyCodeConstants.vbKeyNumlock)
      End Function
      Sub ToujoursNumLock()
      If Not GetNumLock() Then
          Call ToggleNumLock
      End If
      End Sub
      

      Cependant, je doute qu'il soit possible de l'exécuter de façon à immédiatement détecter que la touche est désactivée.
      0
  3. Grec
     
    Bonsoir et bien merci pour le code.
    Votre doute s'est révélé fondé. En effet, na détection
    immédiate n'est pas possible.
    Merci beaucoup et bonne soirée à vous.
    Amicalement vôtre.
    0