Dans une macro VB, sous Excel 2003, je souhaiterai savoir si une des
touches MAJUSCULE (SHIFT) est enfoncé ou non.
Est-ce que quelqu'un sait faire cela ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichDenis
Bonjour Julien,
Dans le haut d'un module standard : et tu exécutes la macro "Test"
'Déclaration des API 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 Const VK_CAPITAL = &H14 '----------------------------------------- Function Verrouille_CapsLock() Dim CapsLockState As Boolean Dim keys(0 To 255) As Byte GetKeyboardState keys(0) CapsLockState = keys(VK_CAPITAL) Verrouille_CapsLock = CapsLockState End Function '------------------------------------ Sub TEST() If Verrouille_CapsLock Then MsgBox "Ok,majuscule activée" Else MsgBox "Ok,minuscule activée" End If End Sub '------------------------------------
"Julien" a écrit dans le message de groupe de discussion :
Bonjour,
Dans une macro VB, sous Excel 2003, je souhaiterai savoir si une des touches MAJUSCULE (SHIFT) est enfoncé ou non. Est-ce que quelqu'un sait faire cela ?
Merci de votre aide,
Julien
Bonjour Julien,
Dans le haut d'un module standard :
et tu exécutes la macro "Test"
'Déclaration des API
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
Const VK_CAPITAL = &H14
'-----------------------------------------
Function Verrouille_CapsLock()
Dim CapsLockState As Boolean
Dim keys(0 To 255) As Byte
GetKeyboardState keys(0)
CapsLockState = keys(VK_CAPITAL)
Verrouille_CapsLock = CapsLockState
End Function
'------------------------------------
Sub TEST()
If Verrouille_CapsLock Then
MsgBox "Ok,majuscule activée"
Else
MsgBox "Ok,minuscule activée"
End If
End Sub
'------------------------------------
"Julien" <jb@none.com> a écrit dans le message de groupe de discussion :
unSlgBqFKHA.3948@TK2MSFTNGP03.phx.gbl...
Bonjour,
Dans une macro VB, sous Excel 2003, je souhaiterai savoir si une des
touches MAJUSCULE (SHIFT) est enfoncé ou non.
Est-ce que quelqu'un sait faire cela ?
Dans le haut d'un module standard : et tu exécutes la macro "Test"
'Déclaration des API 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 Const VK_CAPITAL = &H14 '----------------------------------------- Function Verrouille_CapsLock() Dim CapsLockState As Boolean Dim keys(0 To 255) As Byte GetKeyboardState keys(0) CapsLockState = keys(VK_CAPITAL) Verrouille_CapsLock = CapsLockState End Function '------------------------------------ Sub TEST() If Verrouille_CapsLock Then MsgBox "Ok,majuscule activée" Else MsgBox "Ok,minuscule activée" End If End Sub '------------------------------------
"Julien" a écrit dans le message de groupe de discussion :
Bonjour,
Dans une macro VB, sous Excel 2003, je souhaiterai savoir si une des touches MAJUSCULE (SHIFT) est enfoncé ou non. Est-ce que quelqu'un sait faire cela ?
Merci de votre aide,
Julien
Julien
Merci MichDenis.
Ton code fonctionne bien, mais il surveille l'état de la touche "CAPS LOCK" et je souhaiterais surveiller celui des touches MAJ (SHIFT).
Le même code peut fonctionner avec une "Const VK" différente correspondant à SHIFT, non ? Qui connait ce code ? :)
Merci,
Julien
"MichDenis" a écrit dans le message de news: %
Bonjour Julien,
Dans le haut d'un module standard : et tu exécutes la macro "Test"
'Déclaration des API 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 Const VK_CAPITAL = &H14 '----------------------------------------- Function Verrouille_CapsLock() Dim CapsLockState As Boolean Dim keys(0 To 255) As Byte GetKeyboardState keys(0) CapsLockState = keys(VK_CAPITAL) Verrouille_CapsLock = CapsLockState End Function '------------------------------------ Sub TEST() If Verrouille_CapsLock Then MsgBox "Ok,majuscule activée" Else MsgBox "Ok,minuscule activée" End If End Sub '------------------------------------
"Julien" a écrit dans le message de groupe de discussion :
Bonjour,
Dans une macro VB, sous Excel 2003, je souhaiterai savoir si une des touches MAJUSCULE (SHIFT) est enfoncé ou non. Est-ce que quelqu'un sait faire cela ?
Merci de votre aide,
Julien
Merci MichDenis.
Ton code fonctionne bien, mais il surveille l'état de la touche "CAPS LOCK"
et je souhaiterais surveiller celui des touches MAJ (SHIFT).
Le même code peut fonctionner avec une "Const VK" différente correspondant à
SHIFT, non ?
Qui connait ce code ? :)
Merci,
Julien
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23onSwRqFKHA.5780@TK2MSFTNGP03.phx.gbl...
Bonjour Julien,
Dans le haut d'un module standard :
et tu exécutes la macro "Test"
'Déclaration des API
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
Const VK_CAPITAL = &H14
'-----------------------------------------
Function Verrouille_CapsLock()
Dim CapsLockState As Boolean
Dim keys(0 To 255) As Byte
GetKeyboardState keys(0)
CapsLockState = keys(VK_CAPITAL)
Verrouille_CapsLock = CapsLockState
End Function
'------------------------------------
Sub TEST()
If Verrouille_CapsLock Then
MsgBox "Ok,majuscule activée"
Else
MsgBox "Ok,minuscule activée"
End If
End Sub
'------------------------------------
"Julien" <jb@none.com> a écrit dans le message de groupe de discussion :
unSlgBqFKHA.3948@TK2MSFTNGP03.phx.gbl...
Bonjour,
Dans une macro VB, sous Excel 2003, je souhaiterai savoir si une des
touches MAJUSCULE (SHIFT) est enfoncé ou non.
Est-ce que quelqu'un sait faire cela ?
Ton code fonctionne bien, mais il surveille l'état de la touche "CAPS LOCK" et je souhaiterais surveiller celui des touches MAJ (SHIFT).
Le même code peut fonctionner avec une "Const VK" différente correspondant à SHIFT, non ? Qui connait ce code ? :)
Merci,
Julien
"MichDenis" a écrit dans le message de news: %
Bonjour Julien,
Dans le haut d'un module standard : et tu exécutes la macro "Test"
'Déclaration des API 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 Const VK_CAPITAL = &H14 '----------------------------------------- Function Verrouille_CapsLock() Dim CapsLockState As Boolean Dim keys(0 To 255) As Byte GetKeyboardState keys(0) CapsLockState = keys(VK_CAPITAL) Verrouille_CapsLock = CapsLockState End Function '------------------------------------ Sub TEST() If Verrouille_CapsLock Then MsgBox "Ok,majuscule activée" Else MsgBox "Ok,minuscule activée" End If End Sub '------------------------------------
"Julien" a écrit dans le message de groupe de discussion :
Bonjour,
Dans une macro VB, sous Excel 2003, je souhaiterai savoir si une des touches MAJUSCULE (SHIFT) est enfoncé ou non. Est-ce que quelqu'un sait faire cela ?
Merci de votre aide,
Julien
MichDenis
Essaie ceci :
Dans un module standard,
Déclaration des API dans le haut module Private Declare Function GetKeyState Lib "user32" _ (ByVal nVirtKey As Long) As Integer Const VK_SHIFT = 16 '---------------------------------------- Function Shift_Enfoncé() As Boolean If GetKeyState(VK_SHIFT) = 1 Then Shift_Enfoncé = False Else Shift_Enfoncé = True End If End Function '--------------------------------------- Sub test() If Shift_Enfoncé Then MsgBox "touche ""Shift enfoncé""." Else MsgBox "touche ""Shift non enfoncé""." End If End Sub '----------------------------------------
"Julien" a écrit dans le message de groupe de discussion : # Merci MichDenis.
Ton code fonctionne bien, mais il surveille l'état de la touche "CAPS LOCK" et je souhaiterais surveiller celui des touches MAJ (SHIFT).
Le même code peut fonctionner avec une "Const VK" différente correspondant à SHIFT, non ? Qui connait ce code ? :)
Merci,
Julien
"MichDenis" a écrit dans le message de news: %
Bonjour Julien,
Dans le haut d'un module standard : et tu exécutes la macro "Test"
'Déclaration des API 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 Const VK_CAPITAL = &H14 '----------------------------------------- Function Verrouille_CapsLock() Dim CapsLockState As Boolean Dim keys(0 To 255) As Byte GetKeyboardState keys(0) CapsLockState = keys(VK_CAPITAL) Verrouille_CapsLock = CapsLockState End Function '------------------------------------ Sub TEST() If Verrouille_CapsLock Then MsgBox "Ok,majuscule activée" Else MsgBox "Ok,minuscule activée" End If End Sub '------------------------------------
"Julien" a écrit dans le message de groupe de discussion :
Bonjour,
Dans une macro VB, sous Excel 2003, je souhaiterai savoir si une des touches MAJUSCULE (SHIFT) est enfoncé ou non. Est-ce que quelqu'un sait faire cela ?
Merci de votre aide,
Julien
Essaie ceci :
Dans un module standard,
Déclaration des API dans le haut module
Private Declare Function GetKeyState Lib "user32" _
(ByVal nVirtKey As Long) As Integer
Const VK_SHIFT = 16
'----------------------------------------
Function Shift_Enfoncé() As Boolean
If GetKeyState(VK_SHIFT) = 1 Then
Shift_Enfoncé = False
Else
Shift_Enfoncé = True
End If
End Function
'---------------------------------------
Sub test()
If Shift_Enfoncé Then
MsgBox "touche ""Shift enfoncé""."
Else
MsgBox "touche ""Shift non enfoncé""."
End If
End Sub
'----------------------------------------
"Julien" <jb@none.com> a écrit dans le message de groupe de discussion :
#uhHIaqFKHA.2832@TK2MSFTNGP03.phx.gbl...
Merci MichDenis.
Ton code fonctionne bien, mais il surveille l'état de la touche "CAPS LOCK"
et je souhaiterais surveiller celui des touches MAJ (SHIFT).
Le même code peut fonctionner avec une "Const VK" différente correspondant à
SHIFT, non ?
Qui connait ce code ? :)
Merci,
Julien
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23onSwRqFKHA.5780@TK2MSFTNGP03.phx.gbl...
Bonjour Julien,
Dans le haut d'un module standard :
et tu exécutes la macro "Test"
'Déclaration des API
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
Const VK_CAPITAL = &H14
'-----------------------------------------
Function Verrouille_CapsLock()
Dim CapsLockState As Boolean
Dim keys(0 To 255) As Byte
GetKeyboardState keys(0)
CapsLockState = keys(VK_CAPITAL)
Verrouille_CapsLock = CapsLockState
End Function
'------------------------------------
Sub TEST()
If Verrouille_CapsLock Then
MsgBox "Ok,majuscule activée"
Else
MsgBox "Ok,minuscule activée"
End If
End Sub
'------------------------------------
"Julien" <jb@none.com> a écrit dans le message de groupe de discussion :
unSlgBqFKHA.3948@TK2MSFTNGP03.phx.gbl...
Bonjour,
Dans une macro VB, sous Excel 2003, je souhaiterai savoir si une des
touches MAJUSCULE (SHIFT) est enfoncé ou non.
Est-ce que quelqu'un sait faire cela ?
Déclaration des API dans le haut module Private Declare Function GetKeyState Lib "user32" _ (ByVal nVirtKey As Long) As Integer Const VK_SHIFT = 16 '---------------------------------------- Function Shift_Enfoncé() As Boolean If GetKeyState(VK_SHIFT) = 1 Then Shift_Enfoncé = False Else Shift_Enfoncé = True End If End Function '--------------------------------------- Sub test() If Shift_Enfoncé Then MsgBox "touche ""Shift enfoncé""." Else MsgBox "touche ""Shift non enfoncé""." End If End Sub '----------------------------------------
"Julien" a écrit dans le message de groupe de discussion : # Merci MichDenis.
Ton code fonctionne bien, mais il surveille l'état de la touche "CAPS LOCK" et je souhaiterais surveiller celui des touches MAJ (SHIFT).
Le même code peut fonctionner avec une "Const VK" différente correspondant à SHIFT, non ? Qui connait ce code ? :)
Merci,
Julien
"MichDenis" a écrit dans le message de news: %
Bonjour Julien,
Dans le haut d'un module standard : et tu exécutes la macro "Test"
'Déclaration des API 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 Const VK_CAPITAL = &H14 '----------------------------------------- Function Verrouille_CapsLock() Dim CapsLockState As Boolean Dim keys(0 To 255) As Byte GetKeyboardState keys(0) CapsLockState = keys(VK_CAPITAL) Verrouille_CapsLock = CapsLockState End Function '------------------------------------ Sub TEST() If Verrouille_CapsLock Then MsgBox "Ok,majuscule activée" Else MsgBox "Ok,minuscule activée" End If End Sub '------------------------------------
"Julien" a écrit dans le message de groupe de discussion :
Bonjour,
Dans une macro VB, sous Excel 2003, je souhaiterai savoir si une des touches MAJUSCULE (SHIFT) est enfoncé ou non. Est-ce que quelqu'un sait faire cela ?
Merci de votre aide,
Julien
isabelle
bonjour Julien
Private Declare Function GetKeyState Lib "user32" _ (ByVal vKey As Long) As Integer
Private Const VK_SHIFT As Long = &H10 Private Const VK_CONTROL As Long = &H11 Private Const VK_MENU As Long = &H12 Private Const VK_CAPITAL = &H14 Private Const VK_NUMLOCK = &H90 Private Const VK_SCROLL = &H91 Public Enum GetKeyStateKeyboardCodes gksKeyboardShift = VK_SHIFT gksKeyboardCtrl = VK_CONTROL gksKeyboardAlt = VK_MENU
isabelle
Julien a écrit :
Merci MichDenis.
Ton code fonctionne bien, mais il surveille l'état de la touche "CAPS LOCK" et je souhaiterais surveiller celui des touches MAJ (SHIFT).
Le même code peut fonctionner avec une "Const VK" différente correspondant à SHIFT, non ? Qui connait ce code ? :)
Merci,
Julien
"MichDenis" a écrit dans le message de news: %
Bonjour Julien,
Dans le haut d'un module standard : et tu exécutes la macro "Test"
'Déclaration des API 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 Const VK_CAPITAL = &H14 '----------------------------------------- Function Verrouille_CapsLock() Dim CapsLockState As Boolean Dim keys(0 To 255) As Byte GetKeyboardState keys(0) CapsLockState = keys(VK_CAPITAL) Verrouille_CapsLock = CapsLockState End Function '------------------------------------ Sub TEST() If Verrouille_CapsLock Then MsgBox "Ok,majuscule activée" Else MsgBox "Ok,minuscule activée" End If End Sub '------------------------------------
"Julien" a écrit dans le message de groupe de discussion :
Bonjour,
Dans une macro VB, sous Excel 2003, je souhaiterai savoir si une des touches MAJUSCULE (SHIFT) est enfoncé ou non. Est-ce que quelqu'un sait faire cela ?
Merci de votre aide,
Julien
bonjour Julien
Private Declare Function GetKeyState Lib "user32" _
(ByVal vKey As Long) As Integer
Private Const VK_SHIFT As Long = &H10
Private Const VK_CONTROL As Long = &H11
Private Const VK_MENU As Long = &H12
Private Const VK_CAPITAL = &H14
Private Const VK_NUMLOCK = &H90
Private Const VK_SCROLL = &H91
Public Enum GetKeyStateKeyboardCodes
gksKeyboardShift = VK_SHIFT
gksKeyboardCtrl = VK_CONTROL
gksKeyboardAlt = VK_MENU
isabelle
Julien a écrit :
Merci MichDenis.
Ton code fonctionne bien, mais il surveille l'état de la touche "CAPS LOCK"
et je souhaiterais surveiller celui des touches MAJ (SHIFT).
Le même code peut fonctionner avec une "Const VK" différente correspondant à
SHIFT, non ?
Qui connait ce code ? :)
Merci,
Julien
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23onSwRqFKHA.5780@TK2MSFTNGP03.phx.gbl...
Bonjour Julien,
Dans le haut d'un module standard :
et tu exécutes la macro "Test"
'Déclaration des API
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
Const VK_CAPITAL = &H14
'-----------------------------------------
Function Verrouille_CapsLock()
Dim CapsLockState As Boolean
Dim keys(0 To 255) As Byte
GetKeyboardState keys(0)
CapsLockState = keys(VK_CAPITAL)
Verrouille_CapsLock = CapsLockState
End Function
'------------------------------------
Sub TEST()
If Verrouille_CapsLock Then
MsgBox "Ok,majuscule activée"
Else
MsgBox "Ok,minuscule activée"
End If
End Sub
'------------------------------------
"Julien" <jb@none.com> a écrit dans le message de groupe de discussion :
unSlgBqFKHA.3948@TK2MSFTNGP03.phx.gbl...
Bonjour,
Dans une macro VB, sous Excel 2003, je souhaiterai savoir si une des
touches MAJUSCULE (SHIFT) est enfoncé ou non.
Est-ce que quelqu'un sait faire cela ?
Private Declare Function GetKeyState Lib "user32" _ (ByVal vKey As Long) As Integer
Private Const VK_SHIFT As Long = &H10 Private Const VK_CONTROL As Long = &H11 Private Const VK_MENU As Long = &H12 Private Const VK_CAPITAL = &H14 Private Const VK_NUMLOCK = &H90 Private Const VK_SCROLL = &H91 Public Enum GetKeyStateKeyboardCodes gksKeyboardShift = VK_SHIFT gksKeyboardCtrl = VK_CONTROL gksKeyboardAlt = VK_MENU
isabelle
Julien a écrit :
Merci MichDenis.
Ton code fonctionne bien, mais il surveille l'état de la touche "CAPS LOCK" et je souhaiterais surveiller celui des touches MAJ (SHIFT).
Le même code peut fonctionner avec une "Const VK" différente correspondant à SHIFT, non ? Qui connait ce code ? :)
Merci,
Julien
"MichDenis" a écrit dans le message de news: %
Bonjour Julien,
Dans le haut d'un module standard : et tu exécutes la macro "Test"
'Déclaration des API 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 Const VK_CAPITAL = &H14 '----------------------------------------- Function Verrouille_CapsLock() Dim CapsLockState As Boolean Dim keys(0 To 255) As Byte GetKeyboardState keys(0) CapsLockState = keys(VK_CAPITAL) Verrouille_CapsLock = CapsLockState End Function '------------------------------------ Sub TEST() If Verrouille_CapsLock Then MsgBox "Ok,majuscule activée" Else MsgBox "Ok,minuscule activée" End If End Sub '------------------------------------
"Julien" a écrit dans le message de groupe de discussion :
Bonjour,
Dans une macro VB, sous Excel 2003, je souhaiterai savoir si une des touches MAJUSCULE (SHIFT) est enfoncé ou non. Est-ce que quelqu'un sait faire cela ?
Merci de votre aide,
Julien
Julien
Bonsoir,
Merci pour vos réponse. Je parviens à tester l'état de shift ou de control :)
Bonne soirée,
Julien
"Julien" a écrit dans le message de news: %
Merci MichDenis.
Ton code fonctionne bien, mais il surveille l'état de la touche "CAPS LOCK" et je souhaiterais surveiller celui des touches MAJ (SHIFT).
Le même code peut fonctionner avec une "Const VK" différente correspondant à SHIFT, non ? Qui connait ce code ? :)
Merci,
Julien
"MichDenis" a écrit dans le message de news: %
Bonjour Julien,
Dans le haut d'un module standard : et tu exécutes la macro "Test"
'Déclaration des API 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 Const VK_CAPITAL = &H14 '----------------------------------------- Function Verrouille_CapsLock() Dim CapsLockState As Boolean Dim keys(0 To 255) As Byte GetKeyboardState keys(0) CapsLockState = keys(VK_CAPITAL) Verrouille_CapsLock = CapsLockState End Function '------------------------------------ Sub TEST() If Verrouille_CapsLock Then MsgBox "Ok,majuscule activée" Else MsgBox "Ok,minuscule activée" End If End Sub '------------------------------------
"Julien" a écrit dans le message de groupe de discussion :
Bonjour,
Dans une macro VB, sous Excel 2003, je souhaiterai savoir si une des touches MAJUSCULE (SHIFT) est enfoncé ou non. Est-ce que quelqu'un sait faire cela ?
Merci de votre aide,
Julien
Bonsoir,
Merci pour vos réponse. Je parviens à tester l'état de shift ou de control
:)
Bonne soirée,
Julien
"Julien" <jb@none.com> a écrit dans le message de news:
%23uhHIaqFKHA.2832@TK2MSFTNGP03.phx.gbl...
Merci MichDenis.
Ton code fonctionne bien, mais il surveille l'état de la touche "CAPS
LOCK" et je souhaiterais surveiller celui des touches MAJ (SHIFT).
Le même code peut fonctionner avec une "Const VK" différente correspondant
à SHIFT, non ?
Qui connait ce code ? :)
Merci,
Julien
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23onSwRqFKHA.5780@TK2MSFTNGP03.phx.gbl...
Bonjour Julien,
Dans le haut d'un module standard :
et tu exécutes la macro "Test"
'Déclaration des API
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
Const VK_CAPITAL = &H14
'-----------------------------------------
Function Verrouille_CapsLock()
Dim CapsLockState As Boolean
Dim keys(0 To 255) As Byte
GetKeyboardState keys(0)
CapsLockState = keys(VK_CAPITAL)
Verrouille_CapsLock = CapsLockState
End Function
'------------------------------------
Sub TEST()
If Verrouille_CapsLock Then
MsgBox "Ok,majuscule activée"
Else
MsgBox "Ok,minuscule activée"
End If
End Sub
'------------------------------------
"Julien" <jb@none.com> a écrit dans le message de groupe de discussion :
unSlgBqFKHA.3948@TK2MSFTNGP03.phx.gbl...
Bonjour,
Dans une macro VB, sous Excel 2003, je souhaiterai savoir si une des
touches MAJUSCULE (SHIFT) est enfoncé ou non.
Est-ce que quelqu'un sait faire cela ?
Merci pour vos réponse. Je parviens à tester l'état de shift ou de control :)
Bonne soirée,
Julien
"Julien" a écrit dans le message de news: %
Merci MichDenis.
Ton code fonctionne bien, mais il surveille l'état de la touche "CAPS LOCK" et je souhaiterais surveiller celui des touches MAJ (SHIFT).
Le même code peut fonctionner avec une "Const VK" différente correspondant à SHIFT, non ? Qui connait ce code ? :)
Merci,
Julien
"MichDenis" a écrit dans le message de news: %
Bonjour Julien,
Dans le haut d'un module standard : et tu exécutes la macro "Test"
'Déclaration des API 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 Const VK_CAPITAL = &H14 '----------------------------------------- Function Verrouille_CapsLock() Dim CapsLockState As Boolean Dim keys(0 To 255) As Byte GetKeyboardState keys(0) CapsLockState = keys(VK_CAPITAL) Verrouille_CapsLock = CapsLockState End Function '------------------------------------ Sub TEST() If Verrouille_CapsLock Then MsgBox "Ok,majuscule activée" Else MsgBox "Ok,minuscule activée" End If End Sub '------------------------------------
"Julien" a écrit dans le message de groupe de discussion :
Bonjour,
Dans une macro VB, sous Excel 2003, je souhaiterai savoir si une des touches MAJUSCULE (SHIFT) est enfoncé ou non. Est-ce que quelqu'un sait faire cela ?