bonjour à tous,
je travaille sur un portable, et pour la saisie dans un userform, je dois
activer le pavé numérique.
Est-il possible à Excel de vérifier qd le focus arrive sur un champs de
saisie qui doit etre en numérique, d'activer automatiquement ce pavé s'il ne
l'est pas ? et pour pousser plus loin qu'il le désactive qd on le quitte ??
Merci par avance.
Eliot
Private Sub TextBox1_Enter() SetNumlock True End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) SetNumlock False End Sub
Private Sub SetNumlock(bOn As Boolean) Dim NumState As Integer
NumState = GetKeyState(VK_NUMLOCK) If (NumState = 0 And bOn = True) Or (NumState = 1 And bOn = False) Then keybd_event vbKeyNumlock, _ MapVirtualKey(vbKeyNumlock, 0), _ KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyNumlock, _ MapVirtualKey(vbKeyNumlock, 0), _ KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 End If End Sub
bonjour à tous, je travaille sur un portable, et pour la saisie dans un userform, je dois activer le pavé numérique. Est-il possible à Excel de vérifier qd le focus arrive sur un champs de saisie qui doit etre en numérique, d'activer automatiquement ce pavé s'il ne l'est pas ? et pour pousser plus loin qu'il le désactive qd on le quitte ?? Merci par avance. Eliot
-- Cordialement,
Jacques.
Bonjour EliotNaiss,
Tu peux essayer ceci (OK sous NT/2000/XP, pas testé sur portable, ni W9x) :
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 MapVirtualKey Lib "user32" _
Alias "MapVirtualKeyA" _
(ByVal wCode As Long, ByVal wMapType As Long) As Long
Private Declare Function GetKeyState Lib "user32" _
(ByVal nVirtKey As Long) As Integer
Private Sub TextBox1_Enter()
SetNumlock True
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
SetNumlock False
End Sub
Private Sub SetNumlock(bOn As Boolean)
Dim NumState As Integer
NumState = GetKeyState(VK_NUMLOCK)
If (NumState = 0 And bOn = True) Or (NumState = 1 And bOn = False)
Then
keybd_event vbKeyNumlock, _
MapVirtualKey(vbKeyNumlock, 0), _
KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyNumlock, _
MapVirtualKey(vbKeyNumlock, 0), _
KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0
End If
End Sub
bonjour à tous,
je travaille sur un portable, et pour la saisie dans un userform, je dois
activer le pavé numérique.
Est-il possible à Excel de vérifier qd le focus arrive sur un champs de
saisie qui doit etre en numérique, d'activer automatiquement ce pavé s'il ne
l'est pas ? et pour pousser plus loin qu'il le désactive qd on le quitte ??
Merci par avance.
Eliot
Private Sub TextBox1_Enter() SetNumlock True End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) SetNumlock False End Sub
Private Sub SetNumlock(bOn As Boolean) Dim NumState As Integer
NumState = GetKeyState(VK_NUMLOCK) If (NumState = 0 And bOn = True) Or (NumState = 1 And bOn = False) Then keybd_event vbKeyNumlock, _ MapVirtualKey(vbKeyNumlock, 0), _ KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyNumlock, _ MapVirtualKey(vbKeyNumlock, 0), _ KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 End If End Sub
bonjour à tous, je travaille sur un portable, et pour la saisie dans un userform, je dois activer le pavé numérique. Est-il possible à Excel de vérifier qd le focus arrive sur un champs de saisie qui doit etre en numérique, d'activer automatiquement ce pavé s'il ne l'est pas ? et pour pousser plus loin qu'il le désactive qd on le quitte ?? Merci par avance. Eliot
-- Cordialement,
Jacques.
EliotNaiss
Bonjour et merci Jacques. Cela marche très bien sur mon portable, mais je suis un peu couillon, car je me suis trompé, je voulais activer la majuscule, car si je demande à mes collègues de saisir le numérique ailleurs que sur les chiffres en blanc (par opposition à ceux en bleu), je vais me faire botter en touche !!...(rires). Merci quand même de la promptitude. A bientot ? Cordialement Eliot "Jacques93" a écrit dans le message de news: O9Sa$
Bonjour EliotNaiss,
Tu peux essayer ceci (OK sous NT/2000/XP, pas testé sur portable, ni W9x) :
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 MapVirtualKey Lib "user32" _ Alias "MapVirtualKeyA" _ (ByVal wCode As Long, ByVal wMapType As Long) As Long
Private Declare Function GetKeyState Lib "user32" _ (ByVal nVirtKey As Long) As Integer
Private Sub TextBox1_Enter() SetNumlock True End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) SetNumlock False End Sub
Private Sub SetNumlock(bOn As Boolean) Dim NumState As Integer
NumState = GetKeyState(VK_NUMLOCK) If (NumState = 0 And bOn = True) Or (NumState = 1 And bOn = False) Then keybd_event vbKeyNumlock, _ MapVirtualKey(vbKeyNumlock, 0), _ KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyNumlock, _ MapVirtualKey(vbKeyNumlock, 0), _ KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 End If End Sub
bonjour à tous, je travaille sur un portable, et pour la saisie dans un userform, je dois activer le pavé numérique. Est-il possible à Excel de vérifier qd le focus arrive sur un champs de saisie qui doit etre en numérique, d'activer automatiquement ce pavé s'il ne l'est pas ? et pour pousser plus loin qu'il le désactive qd on le quitte ?? Merci par avance. Eliot
-- Cordialement,
Jacques.
Bonjour et merci Jacques.
Cela marche très bien sur mon portable, mais je suis un peu couillon, car je
me suis trompé, je voulais activer la majuscule, car si je demande à mes
collègues de saisir le numérique ailleurs que sur les chiffres en blanc (par
opposition à ceux en bleu), je vais me faire botter en touche !!...(rires).
Merci quand même de la promptitude.
A bientot ?
Cordialement
Eliot
"Jacques93" <jacques@Nospam> a écrit dans le message de news:
O9Sa$Wo4GHA.2264@TK2MSFTNGP06.phx.gbl...
Bonjour EliotNaiss,
Tu peux essayer ceci (OK sous NT/2000/XP, pas testé sur portable, ni W9x)
:
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 MapVirtualKey Lib "user32" _
Alias "MapVirtualKeyA" _
(ByVal wCode As Long, ByVal wMapType As Long) As Long
Private Declare Function GetKeyState Lib "user32" _
(ByVal nVirtKey As Long) As Integer
Private Sub TextBox1_Enter()
SetNumlock True
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
SetNumlock False
End Sub
Private Sub SetNumlock(bOn As Boolean)
Dim NumState As Integer
NumState = GetKeyState(VK_NUMLOCK)
If (NumState = 0 And bOn = True) Or (NumState = 1 And bOn = False)
Then
keybd_event vbKeyNumlock, _
MapVirtualKey(vbKeyNumlock, 0), _
KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyNumlock, _
MapVirtualKey(vbKeyNumlock, 0), _
KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0
End If
End Sub
bonjour à tous,
je travaille sur un portable, et pour la saisie dans un userform, je dois
activer le pavé numérique.
Est-il possible à Excel de vérifier qd le focus arrive sur un champs de
saisie qui doit etre en numérique, d'activer automatiquement ce pavé s'il
ne l'est pas ? et pour pousser plus loin qu'il le désactive qd on le
quitte ??
Merci par avance.
Eliot
Bonjour et merci Jacques. Cela marche très bien sur mon portable, mais je suis un peu couillon, car je me suis trompé, je voulais activer la majuscule, car si je demande à mes collègues de saisir le numérique ailleurs que sur les chiffres en blanc (par opposition à ceux en bleu), je vais me faire botter en touche !!...(rires). Merci quand même de la promptitude. A bientot ? Cordialement Eliot "Jacques93" a écrit dans le message de news: O9Sa$
Bonjour EliotNaiss,
Tu peux essayer ceci (OK sous NT/2000/XP, pas testé sur portable, ni W9x) :
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 MapVirtualKey Lib "user32" _ Alias "MapVirtualKeyA" _ (ByVal wCode As Long, ByVal wMapType As Long) As Long
Private Declare Function GetKeyState Lib "user32" _ (ByVal nVirtKey As Long) As Integer
Private Sub TextBox1_Enter() SetNumlock True End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) SetNumlock False End Sub
Private Sub SetNumlock(bOn As Boolean) Dim NumState As Integer
NumState = GetKeyState(VK_NUMLOCK) If (NumState = 0 And bOn = True) Or (NumState = 1 And bOn = False) Then keybd_event vbKeyNumlock, _ MapVirtualKey(vbKeyNumlock, 0), _ KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyNumlock, _ MapVirtualKey(vbKeyNumlock, 0), _ KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 End If End Sub
bonjour à tous, je travaille sur un portable, et pour la saisie dans un userform, je dois activer le pavé numérique. Est-il possible à Excel de vérifier qd le focus arrive sur un champs de saisie qui doit etre en numérique, d'activer automatiquement ce pavé s'il ne l'est pas ? et pour pousser plus loin qu'il le désactive qd on le quitte ?? Merci par avance. Eliot
-- Cordialement,
Jacques.
Jacques93
Bonjour Eliot Naisse,
Alors, peut être ceci ?
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 MapVirtualKey Lib "user32" _ Alias "MapVirtualKeyA" _ (ByVal wCode As Long, ByVal wMapType As Long) As Long
Private Declare Function GetKeyState Lib "user32" _ (ByVal nVirtKey As Long) As Integer
Private Sub TextBox1_Enter() SetCapsLock True End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) SetCapsLock False End Sub
Private Sub SetCapsLock(bOn As Boolean) Dim CapsState As Integer
CapsState = GetKeyState(VK_CAPSLOCK) ' Si CapsLock fonctionne comme une bascule If (CapsState = 0 And bOn = True) Or (CapsState = 1 And bOn = False) Then keybd_event vbKeyCapital, _ MapVirtualKey(vbKeyCapital, 0), _ KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyCapital, MapVirtualKey(vbKeyCapital, 0), _ KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 End If ' Si CapsLock est désactivé par Shift If CapsState = 1 And bOn = False Then keybd_event vbKeyShift, _ MapVirtualKey(vbKeyShift, 0), _ KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyShift, MapVirtualKey(vbKeyShift, 0), _ KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 End If End Sub
Bonjour et merci Jacques. Cela marche très bien sur mon portable, mais je suis un peu couillon, car je me suis trompé, je voulais activer la majuscule, car si je demande à mes collègues de saisir le numérique ailleurs que sur les chiffres en blanc (par opposition à ceux en bleu), je vais me faire botter en touche !!...(rires). Merci quand même de la promptitude. A bientot ?
-- Cordialement,
Jacques.
Bonjour Eliot Naisse,
Alors, peut être ceci ?
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 MapVirtualKey Lib "user32" _
Alias "MapVirtualKeyA" _
(ByVal wCode As Long, ByVal wMapType As Long) As Long
Private Declare Function GetKeyState Lib "user32" _
(ByVal nVirtKey As Long) As Integer
Private Sub TextBox1_Enter()
SetCapsLock True
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
SetCapsLock False
End Sub
Private Sub SetCapsLock(bOn As Boolean)
Dim CapsState As Integer
CapsState = GetKeyState(VK_CAPSLOCK)
' Si CapsLock fonctionne comme une bascule
If (CapsState = 0 And bOn = True) Or (CapsState = 1 And bOn = False)
Then
keybd_event vbKeyCapital, _
MapVirtualKey(vbKeyCapital, 0), _
KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyCapital, MapVirtualKey(vbKeyCapital, 0), _
KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0
End If
' Si CapsLock est désactivé par Shift
If CapsState = 1 And bOn = False Then
keybd_event vbKeyShift, _
MapVirtualKey(vbKeyShift, 0), _
KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyShift, MapVirtualKey(vbKeyShift, 0), _
KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0
End If
End Sub
Bonjour et merci Jacques.
Cela marche très bien sur mon portable, mais je suis un peu couillon, car je
me suis trompé, je voulais activer la majuscule, car si je demande à mes
collègues de saisir le numérique ailleurs que sur les chiffres en blanc (par
opposition à ceux en bleu), je vais me faire botter en touche !!...(rires).
Merci quand même de la promptitude.
A bientot ?
Private Sub TextBox1_Enter() SetCapsLock True End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) SetCapsLock False End Sub
Private Sub SetCapsLock(bOn As Boolean) Dim CapsState As Integer
CapsState = GetKeyState(VK_CAPSLOCK) ' Si CapsLock fonctionne comme une bascule If (CapsState = 0 And bOn = True) Or (CapsState = 1 And bOn = False) Then keybd_event vbKeyCapital, _ MapVirtualKey(vbKeyCapital, 0), _ KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyCapital, MapVirtualKey(vbKeyCapital, 0), _ KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 End If ' Si CapsLock est désactivé par Shift If CapsState = 1 And bOn = False Then keybd_event vbKeyShift, _ MapVirtualKey(vbKeyShift, 0), _ KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyShift, MapVirtualKey(vbKeyShift, 0), _ KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 End If End Sub
Bonjour et merci Jacques. Cela marche très bien sur mon portable, mais je suis un peu couillon, car je me suis trompé, je voulais activer la majuscule, car si je demande à mes collègues de saisir le numérique ailleurs que sur les chiffres en blanc (par opposition à ceux en bleu), je vais me faire botter en touche !!...(rires). Merci quand même de la promptitude. A bientot ?
-- Cordialement,
Jacques.
EliotNaiss
Bonjour Jacques, hé bien on peux dire que tu as mis le doigt dessus, c'est pile ce que je voulais !! Un grand merci. Cordialement Eliot "Jacques93" a écrit dans le message de news: %
Bonjour Eliot Naisse,
Alors, peut être ceci ?
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 MapVirtualKey Lib "user32" _ Alias "MapVirtualKeyA" _ (ByVal wCode As Long, ByVal wMapType As Long) As Long
Private Declare Function GetKeyState Lib "user32" _ (ByVal nVirtKey As Long) As Integer
Private Sub TextBox1_Enter() SetCapsLock True End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) SetCapsLock False End Sub
Private Sub SetCapsLock(bOn As Boolean) Dim CapsState As Integer
CapsState = GetKeyState(VK_CAPSLOCK) ' Si CapsLock fonctionne comme une bascule If (CapsState = 0 And bOn = True) Or (CapsState = 1 And bOn = False) Then keybd_event vbKeyCapital, _ MapVirtualKey(vbKeyCapital, 0), _ KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyCapital, MapVirtualKey(vbKeyCapital, 0), _ KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 End If ' Si CapsLock est désactivé par Shift If CapsState = 1 And bOn = False Then keybd_event vbKeyShift, _ MapVirtualKey(vbKeyShift, 0), _ KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyShift, MapVirtualKey(vbKeyShift, 0), _ KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 End If End Sub
Bonjour et merci Jacques. Cela marche très bien sur mon portable, mais je suis un peu couillon, car je me suis trompé, je voulais activer la majuscule, car si je demande à mes collègues de saisir le numérique ailleurs que sur les chiffres en blanc (par opposition à ceux en bleu), je vais me faire botter en touche !!...(rires). Merci quand même de la promptitude. A bientot ?
-- Cordialement,
Jacques.
Bonjour Jacques,
hé bien on peux dire que tu as mis le doigt dessus, c'est pile ce que je
voulais !!
Un grand merci.
Cordialement
Eliot
"Jacques93" <jacques@Nospam> a écrit dans le message de news:
%23GGxsWu4GHA.3840@TK2MSFTNGP03.phx.gbl...
Bonjour Eliot Naisse,
Alors, peut être ceci ?
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 MapVirtualKey Lib "user32" _
Alias "MapVirtualKeyA" _
(ByVal wCode As Long, ByVal wMapType As Long) As Long
Private Declare Function GetKeyState Lib "user32" _
(ByVal nVirtKey As Long) As Integer
Private Sub TextBox1_Enter()
SetCapsLock True
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
SetCapsLock False
End Sub
Private Sub SetCapsLock(bOn As Boolean)
Dim CapsState As Integer
CapsState = GetKeyState(VK_CAPSLOCK)
' Si CapsLock fonctionne comme une bascule
If (CapsState = 0 And bOn = True) Or (CapsState = 1 And bOn = False)
Then
keybd_event vbKeyCapital, _
MapVirtualKey(vbKeyCapital, 0), _
KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyCapital, MapVirtualKey(vbKeyCapital, 0), _
KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0
End If
' Si CapsLock est désactivé par Shift
If CapsState = 1 And bOn = False Then
keybd_event vbKeyShift, _
MapVirtualKey(vbKeyShift, 0), _
KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyShift, MapVirtualKey(vbKeyShift, 0), _
KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0
End If
End Sub
Bonjour et merci Jacques.
Cela marche très bien sur mon portable, mais je suis un peu couillon, car
je me suis trompé, je voulais activer la majuscule, car si je demande à
mes collègues de saisir le numérique ailleurs que sur les chiffres en
blanc (par opposition à ceux en bleu), je vais me faire botter en touche
!!...(rires).
Merci quand même de la promptitude.
A bientot ?
Bonjour Jacques, hé bien on peux dire que tu as mis le doigt dessus, c'est pile ce que je voulais !! Un grand merci. Cordialement Eliot "Jacques93" a écrit dans le message de news: %
Bonjour Eliot Naisse,
Alors, peut être ceci ?
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 MapVirtualKey Lib "user32" _ Alias "MapVirtualKeyA" _ (ByVal wCode As Long, ByVal wMapType As Long) As Long
Private Declare Function GetKeyState Lib "user32" _ (ByVal nVirtKey As Long) As Integer
Private Sub TextBox1_Enter() SetCapsLock True End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) SetCapsLock False End Sub
Private Sub SetCapsLock(bOn As Boolean) Dim CapsState As Integer
CapsState = GetKeyState(VK_CAPSLOCK) ' Si CapsLock fonctionne comme une bascule If (CapsState = 0 And bOn = True) Or (CapsState = 1 And bOn = False) Then keybd_event vbKeyCapital, _ MapVirtualKey(vbKeyCapital, 0), _ KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyCapital, MapVirtualKey(vbKeyCapital, 0), _ KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 End If ' Si CapsLock est désactivé par Shift If CapsState = 1 And bOn = False Then keybd_event vbKeyShift, _ MapVirtualKey(vbKeyShift, 0), _ KEYEVENTF_EXTENDEDKEY Or 0, 0
keybd_event vbKeyShift, MapVirtualKey(vbKeyShift, 0), _ KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 End If End Sub
Bonjour et merci Jacques. Cela marche très bien sur mon portable, mais je suis un peu couillon, car je me suis trompé, je voulais activer la majuscule, car si je demande à mes collègues de saisir le numérique ailleurs que sur les chiffres en blanc (par opposition à ceux en bleu), je vais me faire botter en touche !!...(rires). Merci quand même de la promptitude. A bientot ?