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

Fermé
Grec - Modifié le 13 mars 2020 à 17:54
 Grec - 14 mars 2020 à 18:37
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.
A voir également:

3 réponses

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
13 mars 2020 à 18:26
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
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
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
14 mars 2020 à 10:59
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
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