Transmission du curseur sans cliquer sur Inter
Bonjour à tous
Si le nombre de caractères dans la cellule en cours est de deux caractères, le pointeur passe à la cellule suivante.
Comment puis-je adapter le code suivant à cela?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
Public hHook As Long
Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _
(ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Public Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function GetCurrentThreadId Lib "kernel32" () As Long
Const WH_KEYBOARD = 2
Sub BeginHK()
i = GetCurrentThreadId
hHook = SetWindowsHookEx(WH_KEYBOARD, AddressOf HookProc, 0, i)
End Sub
Public Function HookProc(ByVal code As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If code < 0 Then
HookProc = CallNextHookEx(hHook, code, wParam, lParam)
Else
Select Case HookProc
Case Is > 0
'-------------------------------------------------------
If Len(ActiveCell) = 2 Then ActiveCell.Offset(1).Select
'-------------------------------------------------------
' HookProc = 1
End Select
End If
End Function
Sub EndHK()
'Stop Hook
UnhookWindowsHookEx hHook
End Sub |