Bonjour EliotNaiss,
essaie ceci ... dans un module standard :
Et dans ton formulaire, tu appelles la macro lorsque l'événement désiré
est déclenché
N.B. Je n'ai plus le nom de l'auteur original !
'--------------------------------------------------------
Option Explicit
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128 ' Maintenance string for PSS usage
End Type
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
Sub Toggle_NC(Optional NUM% = 1, Optional CAPS% = 1)
Dim o As OSVERSIONINFO
o.dwOSVersionInfoSize = Len(o)
GetVersionEx o
Dim keys(0 To 255) As Byte: GetKeyboardState keys(0)
If keys(&H90) <> NUM Then ' Turn numlock
If o.dwPlatformId = 1 Then ' -> Win95/98
keys(&H90) = NUM: SetKeyboardState keys(0)
ElseIf o.dwPlatformId = 2 Then ' -> WinNT
keybd_event &H90, &H45, &H1 Or 0, 0 ' Simulate Key Press
keybd_event &H90, &H45, &H1 Or &H2, 0 ' Simulate Key Release
End If
End If
If keys(&H14) <> CAPS Then ' Turn capslock
If o.dwPlatformId = 1 Then ' -> Win95/98
keys(&H14) = CAPS: SetKeyboardState keys(0)
ElseIf o.dwPlatformId = 2 Then ' -> WinNT
keybd_event &H14, &H45, &H1 Or 0, 0 ' Simulate Key Press
keybd_event &H14, &H45, &H1 Or &H2, 0 ' Simulate Key Release
End If
End If
End Sub
Sub TestOnOn()
Toggle_NC 1, 1
End Sub
Sub TestOnOff()
Toggle_NC 1, 0
End Sub
Sub TestOffOn()
Toggle_NC 0, 1
End Sub
Sub TestOffOff()
Toggle_NC 0, 0
End Sub
'--------------------------------------------------------
Salutations!
"EliotNaiss" a écrit dans le message de news:
%
Bonjour,
j'utilise XL2000 sur un portable.
ds un userform j'ai un textbox dans lequel je voudrais que qd je clique ds
celui-ci pour saisir
(et aussi qd l'utilisateur sort du combobox précédent avec tabulation),
que le verrouillage numérique soit activé et qu'il soit désactivé en
sortant.
J'ai essayé (MouseDown et MouseUp) comme ceci mais je n'y arrive pas !!
Private Sub txtNbCartTir_MouseUp(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
SendKeys "{CAPSLOCK}"
End Sub
Il faut peut-être utiliser les éléments de syntaxe Button Shift X Y , mais
comment ?
Merci de votre aide
Cordialement
Eliot
Bonjour EliotNaiss,
essaie ceci ... dans un module standard :
Et dans ton formulaire, tu appelles la macro lorsque l'événement désiré
est déclenché
N.B. Je n'ai plus le nom de l'auteur original !
'--------------------------------------------------------
Option Explicit
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128 ' Maintenance string for PSS usage
End Type
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
Sub Toggle_NC(Optional NUM% = 1, Optional CAPS% = 1)
Dim o As OSVERSIONINFO
o.dwOSVersionInfoSize = Len(o)
GetVersionEx o
Dim keys(0 To 255) As Byte: GetKeyboardState keys(0)
If keys(&H90) <> NUM Then ' Turn numlock
If o.dwPlatformId = 1 Then ' -> Win95/98
keys(&H90) = NUM: SetKeyboardState keys(0)
ElseIf o.dwPlatformId = 2 Then ' -> WinNT
keybd_event &H90, &H45, &H1 Or 0, 0 ' Simulate Key Press
keybd_event &H90, &H45, &H1 Or &H2, 0 ' Simulate Key Release
End If
End If
If keys(&H14) <> CAPS Then ' Turn capslock
If o.dwPlatformId = 1 Then ' -> Win95/98
keys(&H14) = CAPS: SetKeyboardState keys(0)
ElseIf o.dwPlatformId = 2 Then ' -> WinNT
keybd_event &H14, &H45, &H1 Or 0, 0 ' Simulate Key Press
keybd_event &H14, &H45, &H1 Or &H2, 0 ' Simulate Key Release
End If
End If
End Sub
Sub TestOnOn()
Toggle_NC 1, 1
End Sub
Sub TestOnOff()
Toggle_NC 1, 0
End Sub
Sub TestOffOn()
Toggle_NC 0, 1
End Sub
Sub TestOffOff()
Toggle_NC 0, 0
End Sub
'--------------------------------------------------------
Salutations!
"EliotNaiss" <personne@microsoft.com> a écrit dans le message de news:
%23yRBZ7JqFHA.2076@TK2MSFTNGP14.phx.gbl...
Bonjour,
j'utilise XL2000 sur un portable.
ds un userform j'ai un textbox dans lequel je voudrais que qd je clique ds
celui-ci pour saisir
(et aussi qd l'utilisateur sort du combobox précédent avec tabulation),
que le verrouillage numérique soit activé et qu'il soit désactivé en
sortant.
J'ai essayé (MouseDown et MouseUp) comme ceci mais je n'y arrive pas !!
Private Sub txtNbCartTir_MouseUp(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
SendKeys "{CAPSLOCK}"
End Sub
Il faut peut-être utiliser les éléments de syntaxe Button Shift X Y , mais
comment ?
Merci de votre aide
Cordialement
Eliot
Bonjour EliotNaiss,
essaie ceci ... dans un module standard :
Et dans ton formulaire, tu appelles la macro lorsque l'événement désiré
est déclenché
N.B. Je n'ai plus le nom de l'auteur original !
'--------------------------------------------------------
Option Explicit
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128 ' Maintenance string for PSS usage
End Type
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
Sub Toggle_NC(Optional NUM% = 1, Optional CAPS% = 1)
Dim o As OSVERSIONINFO
o.dwOSVersionInfoSize = Len(o)
GetVersionEx o
Dim keys(0 To 255) As Byte: GetKeyboardState keys(0)
If keys(&H90) <> NUM Then ' Turn numlock
If o.dwPlatformId = 1 Then ' -> Win95/98
keys(&H90) = NUM: SetKeyboardState keys(0)
ElseIf o.dwPlatformId = 2 Then ' -> WinNT
keybd_event &H90, &H45, &H1 Or 0, 0 ' Simulate Key Press
keybd_event &H90, &H45, &H1 Or &H2, 0 ' Simulate Key Release
End If
End If
If keys(&H14) <> CAPS Then ' Turn capslock
If o.dwPlatformId = 1 Then ' -> Win95/98
keys(&H14) = CAPS: SetKeyboardState keys(0)
ElseIf o.dwPlatformId = 2 Then ' -> WinNT
keybd_event &H14, &H45, &H1 Or 0, 0 ' Simulate Key Press
keybd_event &H14, &H45, &H1 Or &H2, 0 ' Simulate Key Release
End If
End If
End Sub
Sub TestOnOn()
Toggle_NC 1, 1
End Sub
Sub TestOnOff()
Toggle_NC 1, 0
End Sub
Sub TestOffOn()
Toggle_NC 0, 1
End Sub
Sub TestOffOff()
Toggle_NC 0, 0
End Sub
'--------------------------------------------------------
Salutations!
"EliotNaiss" a écrit dans le message de news:
%
Bonjour,
j'utilise XL2000 sur un portable.
ds un userform j'ai un textbox dans lequel je voudrais que qd je clique ds
celui-ci pour saisir
(et aussi qd l'utilisateur sort du combobox précédent avec tabulation),
que le verrouillage numérique soit activé et qu'il soit désactivé en
sortant.
J'ai essayé (MouseDown et MouseUp) comme ceci mais je n'y arrive pas !!
Private Sub txtNbCartTir_MouseUp(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
SendKeys "{CAPSLOCK}"
End Sub
Il faut peut-être utiliser les éléments de syntaxe Button Shift X Y , mais
comment ?
Merci de votre aide
Cordialement
Eliot
Bonjour EliotNaiss,
essaie ceci ... dans un module standard :
Et dans ton formulaire, tu appelles la macro lorsque l'événement désiré
est déclenché
N.B. Je n'ai plus le nom de l'auteur original !
'--------------------------------------------------------
Option Explicit
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128 ' Maintenance string for PSS usage
End Type
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
Sub Toggle_NC(Optional NUM% = 1, Optional CAPS% = 1)
Dim o As OSVERSIONINFO
o.dwOSVersionInfoSize = Len(o)
GetVersionEx o
Dim keys(0 To 255) As Byte: GetKeyboardState keys(0)
If keys(&H90) <> NUM Then ' Turn numlock
If o.dwPlatformId = 1 Then ' -> Win95/98
keys(&H90) = NUM: SetKeyboardState keys(0)
ElseIf o.dwPlatformId = 2 Then ' -> WinNT
keybd_event &H90, &H45, &H1 Or 0, 0 ' Simulate Key Press
keybd_event &H90, &H45, &H1 Or &H2, 0 ' Simulate Key Release
End If
End If
If keys(&H14) <> CAPS Then ' Turn capslock
If o.dwPlatformId = 1 Then ' -> Win95/98
keys(&H14) = CAPS: SetKeyboardState keys(0)
ElseIf o.dwPlatformId = 2 Then ' -> WinNT
keybd_event &H14, &H45, &H1 Or 0, 0 ' Simulate Key Press
keybd_event &H14, &H45, &H1 Or &H2, 0 ' Simulate Key Release
End If
End If
End Sub
Sub TestOnOn()
Toggle_NC 1, 1
End Sub
Sub TestOnOff()
Toggle_NC 1, 0
End Sub
Sub TestOffOn()
Toggle_NC 0, 1
End Sub
Sub TestOffOff()
Toggle_NC 0, 0
End Sub
'--------------------------------------------------------
Salutations!
"EliotNaiss" a écrit dans le message de news:
%
Bonjour,
j'utilise XL2000 sur un portable.
ds un userform j'ai un textbox dans lequel je voudrais que qd je clique ds
celui-ci pour saisir
(et aussi qd l'utilisateur sort du combobox précédent avec tabulation),
que le verrouillage numérique soit activé et qu'il soit désactivé en
sortant.
J'ai essayé (MouseDown et MouseUp) comme ceci mais je n'y arrive pas !!
Private Sub txtNbCartTir_MouseUp(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
SendKeys "{CAPSLOCK}"
End Sub
Il faut peut-être utiliser les éléments de syntaxe Button Shift X Y , mais
comment ?
Merci de votre aide
Cordialement
Eliot
Bonjour EliotNaiss,
essaie ceci ... dans un module standard :
Et dans ton formulaire, tu appelles la macro lorsque l'événement désiré
est déclenché
N.B. Je n'ai plus le nom de l'auteur original !
'--------------------------------------------------------
Option Explicit
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128 ' Maintenance string for PSS usage
End Type
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
Sub Toggle_NC(Optional NUM% = 1, Optional CAPS% = 1)
Dim o As OSVERSIONINFO
o.dwOSVersionInfoSize = Len(o)
GetVersionEx o
Dim keys(0 To 255) As Byte: GetKeyboardState keys(0)
If keys(&H90) <> NUM Then ' Turn numlock
If o.dwPlatformId = 1 Then ' -> Win95/98
keys(&H90) = NUM: SetKeyboardState keys(0)
ElseIf o.dwPlatformId = 2 Then ' -> WinNT
keybd_event &H90, &H45, &H1 Or 0, 0 ' Simulate Key Press
keybd_event &H90, &H45, &H1 Or &H2, 0 ' Simulate Key Release
End If
End If
If keys(&H14) <> CAPS Then ' Turn capslock
If o.dwPlatformId = 1 Then ' -> Win95/98
keys(&H14) = CAPS: SetKeyboardState keys(0)
ElseIf o.dwPlatformId = 2 Then ' -> WinNT
keybd_event &H14, &H45, &H1 Or 0, 0 ' Simulate Key Press
keybd_event &H14, &H45, &H1 Or &H2, 0 ' Simulate Key Release
End If
End If
End Sub
Sub TestOnOn()
Toggle_NC 1, 1
End Sub
Sub TestOnOff()
Toggle_NC 1, 0
End Sub
Sub TestOffOn()
Toggle_NC 0, 1
End Sub
Sub TestOffOff()
Toggle_NC 0, 0
End Sub
'--------------------------------------------------------
Salutations!
"EliotNaiss" <personne@microsoft.com> a écrit dans le message de news:
%23yRBZ7JqFHA.2076@TK2MSFTNGP14.phx.gbl...
Bonjour,
j'utilise XL2000 sur un portable.
ds un userform j'ai un textbox dans lequel je voudrais que qd je clique ds
celui-ci pour saisir
(et aussi qd l'utilisateur sort du combobox précédent avec tabulation),
que le verrouillage numérique soit activé et qu'il soit désactivé en
sortant.
J'ai essayé (MouseDown et MouseUp) comme ceci mais je n'y arrive pas !!
Private Sub txtNbCartTir_MouseUp(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
SendKeys "{CAPSLOCK}"
End Sub
Il faut peut-être utiliser les éléments de syntaxe Button Shift X Y , mais
comment ?
Merci de votre aide
Cordialement
Eliot
Bonjour EliotNaiss,
essaie ceci ... dans un module standard :
Et dans ton formulaire, tu appelles la macro lorsque l'événement désiré
est déclenché
N.B. Je n'ai plus le nom de l'auteur original !
'--------------------------------------------------------
Option Explicit
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128 ' Maintenance string for PSS usage
End Type
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
Sub Toggle_NC(Optional NUM% = 1, Optional CAPS% = 1)
Dim o As OSVERSIONINFO
o.dwOSVersionInfoSize = Len(o)
GetVersionEx o
Dim keys(0 To 255) As Byte: GetKeyboardState keys(0)
If keys(&H90) <> NUM Then ' Turn numlock
If o.dwPlatformId = 1 Then ' -> Win95/98
keys(&H90) = NUM: SetKeyboardState keys(0)
ElseIf o.dwPlatformId = 2 Then ' -> WinNT
keybd_event &H90, &H45, &H1 Or 0, 0 ' Simulate Key Press
keybd_event &H90, &H45, &H1 Or &H2, 0 ' Simulate Key Release
End If
End If
If keys(&H14) <> CAPS Then ' Turn capslock
If o.dwPlatformId = 1 Then ' -> Win95/98
keys(&H14) = CAPS: SetKeyboardState keys(0)
ElseIf o.dwPlatformId = 2 Then ' -> WinNT
keybd_event &H14, &H45, &H1 Or 0, 0 ' Simulate Key Press
keybd_event &H14, &H45, &H1 Or &H2, 0 ' Simulate Key Release
End If
End If
End Sub
Sub TestOnOn()
Toggle_NC 1, 1
End Sub
Sub TestOnOff()
Toggle_NC 1, 0
End Sub
Sub TestOffOn()
Toggle_NC 0, 1
End Sub
Sub TestOffOff()
Toggle_NC 0, 0
End Sub
'--------------------------------------------------------
Salutations!
"EliotNaiss" a écrit dans le message de news:
%
Bonjour,
j'utilise XL2000 sur un portable.
ds un userform j'ai un textbox dans lequel je voudrais que qd je clique ds
celui-ci pour saisir
(et aussi qd l'utilisateur sort du combobox précédent avec tabulation),
que le verrouillage numérique soit activé et qu'il soit désactivé en
sortant.
J'ai essayé (MouseDown et MouseUp) comme ceci mais je n'y arrive pas !!
Private Sub txtNbCartTir_MouseUp(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
SendKeys "{CAPSLOCK}"
End Sub
Il faut peut-être utiliser les éléments de syntaxe Button Shift X Y , mais
comment ?
Merci de votre aide
Cordialement
Eliot