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

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. Contributeur
    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
    1. 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. Contributeur
        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
    2. 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