vba commande pour activer le pavé numérique (ver num)

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 !

Re : vba commande pour activer le pavé numérique (ver num)

Bonsoir


Test ok sous VISTA

source du code d'origine
Code:
Option Explicit
'Declaration API
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type

' API declarations:

Private Declare Function GetVersionEx Lib "kernel32" _
Alias "GetVersionExA" _
(lpVersionInformation As OSVERSIONINFO) As Long

Private Declare Sub keybd_event Lib "user32" _
(ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Private Declare Function GetKeyboardState Lib "user32" _
(pbKeyState As Byte) As Long

Private Declare Function SetKeyboardState Lib "user32" _
(lppbKeyState As Byte) As Long

' Constant declarations:
Const VK_NUMLOCK = &H90
Const VK_CAPITAL = &H14
Const VK_SCROLL = &H91

Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2
Const VER_PLATFORM_WIN32_NT = 2
Const VER_PLATFORM_WIN32_WINDOWS = 1


Sub ActiveKEYPAD()
Dim o As OSVERSIONINFO
Dim NumLockState As Boolean
Dim ScrollLockState As Boolean
Dim CapsLockState As Boolean

o.dwOSVersionInfoSize = Len(o)
GetVersionEx o
Dim keys(0 To 255) As Byte
GetKeyboardState keys(0)

' CapsLock handling:
NumLockState = keys(VK_NUMLOCK)
If CapsLockState <> True Then    'Turn capslock on
If o.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS Then  '=== Win95/98
keys(VK_NUMLOCK) = 1
SetKeyboardState keys(0)
ElseIf o.dwPlatformId = VER_PLATFORM_WIN32_NT Then   '=== WinNT
'Simulate Key Press
keybd_event VK_NUMLOCK, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0
'Simulate Key Release
keybd_event VK_NUMLOCK, &H45, KEYEVENTF_EXTENDEDKEY _
Or KEYEVENTF_KEYUP, 0
End If
End If

End Sub
 
Dernière édition:
Re : vba commande pour activer le pavé numérique (ver num)

Merci pour ces infos Staple, mais j'ai du mal à savoir comment utiliser ces codes. En fait, j'ai un programme qui va sur une page web pour récupérer des informations et les copier sur excel et ceci en boucle.
Or le programme plante car à certains moments le pavé numérique se désactive.
Je voudrais donc introduire un code dans la boucle qui analyse si le pavé numérique est activé pour le réactiver s'il ne l'est pas.
Quelqu'un peut-il m'aider ?

Cordialement
 
- 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
5
Affichages
272
Réponses
8
Affichages
610
Réponses
12
Affichages
441
  • Question Question
Microsoft 365 comparaison horaire
Réponses
5
Affichages
125
Réponses
5
Affichages
245
Retour