OVH Cloud OVH Cloud

Desactive CapsLock

3 réponses
Avatar
Barnard
Bonjour,

Je recherche une syntaxe me permettant de d=E9sactiver en=20
VBA Excel 95 la touche CapsLock dans une macro Auto-Open.

J'ai utilis=E9 l'exemple ci-dessous, mais la d=E9claration=20
Byte en Excel 95 n'existe pas.

Je vous remercie beaucoup de votre r=E9ponse.

Cordialement.

Barnard.

Const VK_CAPITAL =3D &H14
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
'Private Declare Function GetKeyState Lib "user32" (ByVal=20
nVirtKey As Long) As Long
Private Declare Function GetKeyboardState Lib "user32"=20
(kbArray As KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32"=20
(kbArray As KeyboardBytes) As Long
Dim kbArray As KeyboardBytes, CapsLock As Boolean

GetKeyboardState kbArray
kbArray.kbByte(VK_CAPITAL) =3D 0
SetKeyboardState kbArray

3 réponses

Avatar
ChrisV
Bonjour Barnard,

Pas Excel 95 pour tester, mais en Xp ou sup...

Dans la feuille de code de ThisWorkbook

Private Sub Workbook_Open()
On Error Resume Next
For i = 96 To 111
Application.OnKey "{" & i & "}", "disabledPN"
Next i
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
For i = 96 To 111
Application.OnKey "{" & i & "}"
Next i
End Sub

dans un module

Sub disabledPN()
MsgBox "Vous ne pouvez pas utiliser le pavé numérique...!", _
vbExclamation
End Sub


ChrisV


"Barnard" a écrit dans le message de
news: 312801c3fd25$901b9590$
Bonjour,

Je recherche une syntaxe me permettant de désactiver en
VBA Excel 95 la touche CapsLock dans une macro Auto-Open.

J'ai utilisé l'exemple ci-dessous, mais la déclaration
Byte en Excel 95 n'existe pas.

Je vous remercie beaucoup de votre réponse.

Cordialement.

Barnard.

Const VK_CAPITAL = &H14
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
'Private Declare Function GetKeyState Lib "user32" (ByVal
nVirtKey As Long) As Long
Private Declare Function GetKeyboardState Lib "user32"
(kbArray As KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32"
(kbArray As KeyboardBytes) As Long
Dim kbArray As KeyboardBytes, CapsLock As Boolean

GetKeyboardState kbArray
kbArray.kbByte(VK_CAPITAL) = 0
SetKeyboardState kbArray
Avatar
Barnard
Merci de votre réponse, mais ce que je recherchais c'est
si la touche CapsLock est activée, c'est de pouvoir la
désactiver dans un module VBA 95, et non pas l'interdire.

En vous remerciant.

Barnard.


-----Message d'origine-----
Bonjour,

Je recherche une syntaxe me permettant de désactiver en
VBA Excel 95 la touche CapsLock dans une macro Auto-Open.

J'ai utilisé l'exemple ci-dessous, mais la déclaration
Byte en Excel 95 n'existe pas.

Je vous remercie beaucoup de votre réponse.

Cordialement.

Barnard.

Const VK_CAPITAL = &H14
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
'Private Declare Function GetKeyState Lib "user32" (ByVal
nVirtKey As Long) As Long
Private Declare Function GetKeyboardState Lib "user32"
(kbArray As KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32"
(kbArray As KeyboardBytes) As Long
Dim kbArray As KeyboardBytes, CapsLock As Boolean

GetKeyboardState kbArray
kbArray.kbByte(VK_CAPITAL) = 0
SetKeyboardState kbArray


.



Avatar
j
tu peux tenter
SendKeys ("{capslock}")
je ne l'ai jamais vu marcher, mais peut-être sur ta version d'Excel ....

http://jacxl.free.fr


"Barnard" a écrit dans le message de
news: 312801c3fd25$901b9590$
Bonjour,

Je recherche une syntaxe me permettant de désactiver en
VBA Excel 95 la touche CapsLock dans une macro Auto-Open.

J'ai utilisé l'exemple ci-dessous, mais la déclaration
Byte en Excel 95 n'existe pas.

Je vous remercie beaucoup de votre réponse.

Cordialement.

Barnard.

Const VK_CAPITAL = &H14
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
'Private Declare Function GetKeyState Lib "user32" (ByVal
nVirtKey As Long) As Long
Private Declare Function GetKeyboardState Lib "user32"
(kbArray As KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32"
(kbArray As KeyboardBytes) As Long
Dim kbArray As KeyboardBytes, CapsLock As Boolean

GetKeyboardState kbArray
kbArray.kbByte(VK_CAPITAL) = 0
SetKeyboardState kbArray