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
Philippe.R
Bonjour David, Si comme je crois pouvoir le comprendre, tu souhaites obtenir une saisie exclusivement en capitales, il sera plus simple d'utiliser quelquechose comme :
montext=ucase(textbox1.value) -- Amicales Salutations XL 97 / 2000 / 2002 Retirer A_S_ pour répondre en privé. Préférez suivre facilement sur le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"David" <(Pas de Spam) a écrit dans le message de news:
Bonjour
Comment activer la touche Shift à l'arrivée d'un TextBox et la désactiver à la sortie du TextBox
Merci de vos conseils
Bonne journée
David
Bonjour David,
Si comme je crois pouvoir le comprendre, tu souhaites obtenir une saisie exclusivement en capitales, il
sera plus simple d'utiliser quelquechose comme :
montext=ucase(textbox1.value)
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"David" <(Pas de Spam)direction-ternoise@wanadoo.fr> a écrit dans le message de news:
u93qbDlvEHA.716@TK2MSFTNGP10.phx.gbl...
Bonjour
Comment activer la touche Shift à l'arrivée d'un TextBox et la désactiver à
la sortie du TextBox
Bonjour David, Si comme je crois pouvoir le comprendre, tu souhaites obtenir une saisie exclusivement en capitales, il sera plus simple d'utiliser quelquechose comme :
montext=ucase(textbox1.value) -- Amicales Salutations XL 97 / 2000 / 2002 Retirer A_S_ pour répondre en privé. Préférez suivre facilement sur le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"David" <(Pas de Spam) a écrit dans le message de news:
Bonjour
Comment activer la touche Shift à l'arrivée d'un TextBox et la désactiver à la sortie du TextBox
Merci de vos conseils
Bonne journée
David
papou
Bonjour Si ta problématique est de forcer la saisie en majuscules, il serait plus simple de regarder du côté de la fonction Ucase et de l'évènement AfetrUpdate du textbox. Cordialement Pascal
"David" <(Pas de Spam) a écrit dans le message de news:
Bonjour
Comment activer la touche Shift à l'arrivée d'un TextBox et la désactiver à la sortie du TextBox
Merci de vos conseils
Bonne journée
David
Bonjour
Si ta problématique est de forcer la saisie en majuscules, il serait plus
simple de regarder du côté de la fonction Ucase et de l'évènement
AfetrUpdate du textbox.
Cordialement
Pascal
"David" <(Pas de Spam)direction-ternoise@wanadoo.fr> a écrit dans le message
de news: u93qbDlvEHA.716@TK2MSFTNGP10.phx.gbl...
Bonjour
Comment activer la touche Shift à l'arrivée d'un TextBox et la désactiver
à
la sortie du TextBox
Bonjour Si ta problématique est de forcer la saisie en majuscules, il serait plus simple de regarder du côté de la fonction Ucase et de l'évènement AfetrUpdate du textbox. Cordialement Pascal
"David" <(Pas de Spam) a écrit dans le message de news:
Bonjour
Comment activer la touche Shift à l'arrivée d'un TextBox et la désactiver à la sortie du TextBox
Merci de vos conseils
Bonne journée
David
David
Bonjour et merci à vous deux
En fait cela n'est pas pour mettre en majuscule des lettres mais tout simplement pour saisir (dans textBox) des chiffres sur un PC portable.
Bonne journée
David
Bonjour et merci à vous deux
En fait cela n'est pas pour mettre en majuscule des lettres mais tout
simplement pour saisir (dans textBox) des chiffres sur un PC portable.
En fait cela n'est pas pour mettre en majuscule des lettres mais tout simplement pour saisir (dans textBox) des chiffres sur un PC portable.
Bonne journée
David
papou
Re Dans ces conditions, ne s'agirait-il pas plutôt de la touche Majuscules ? Si c'est le cas, avec une API (c/f code ci-dessous) il est possible d'activer cette touche (ou d'autres), mais note bien que cela n'a pas d'incidence sur l'allumage ou non du led correspondant (en tout cas pas constaté sur un PC). Attention aux sauts de ligne intempestifs ! La macro ActiveMaj, comme son nom l'indique, active la touche Majuscules. Cordialement Pascal
'****** Début du code ******* 'constante touche majuscules Const VK_CAPITAL = &H14 'verr num Const VK_NUMLOCK = &H90 'arrêt défil Const VK_SCROLL = &H91 Private Type KeyboardBytes kbByte(0 To 255) As Byte End Type 'Fonction état d'une touche Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer 'Fonction lire état des touches clavier Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long 'Fonction définir état des toucvhes clavier Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long Dim kbArray As KeyboardBytes, KbOld As KeyboardBytes 'Macro de désactivation touje MAJ Sub DesactiveMAJ() 'si la touche MAJ est active If GetKeyState(VK_CAPITAL) = 1 Then 'récupérer l'état actuel des touches clavier (pour utilisation éventuelle) GetKeyboardState KbOld 'appel de turnooff pour la touche MAJ TurnOff VK_CAPITAL 'si la touche MAJ n'est pas active on affiche un message d'info Else: MsgBox "La touche MAJ n'est pas active", vbInformation, "MAJ non activée" End If End Sub 'Macro d'acitvation de MAJ Sub ActiveMAJ() 'si la touche MAJ n'est pas active If GetKeyState(VK_CAPITAL) = 0 Then 'récupérer l'état actuel des touches clavier (pour utilisation éventuelle) GetKeyboardState KbOld 'appel de turnon pour la touche MAJ TurnOn VK_CAPITAL 'sinon on affiche un message d'info Else: MsgBox "La touche MAJ est déjà active", vbInformation, "MAJ activée" End If End Sub 'routine de désactivation de touche (prend en paramètre l'id de la touche) Private Sub TurnOff(vkKey As Long) 'appel de la fonction pour lire l'état actuel des touches GetKeyboardState kbArray 'définition de la valeur 0 (zéro) pour la désactivation kbArray.kbByte(vkKey) = 0 'définition de l'état du clavier SetKeyboardState kbArray End Sub 'routin d'activation de touche (prend en paramètre l'id de la touche) Private Sub TurnOn(vkKey As Long) 'appel de la fonction pour lire l'état actuel des touches GetKeyboardState kbArray 'définition de la valeur 1 (un) pour l'activation kbArray.kbByte(vkKey) = 1 'définition de l'état du clavier SetKeyboardState kbArray End Sub '************************
"David" <(Pas de Spam) a écrit dans le message de news:
Bonjour et merci à vous deux
En fait cela n'est pas pour mettre en majuscule des lettres mais tout simplement pour saisir (dans textBox) des chiffres sur un PC portable.
Bonne journée
David
Re
Dans ces conditions, ne s'agirait-il pas plutôt de la touche Majuscules ?
Si c'est le cas, avec une API (c/f code ci-dessous) il est possible
d'activer cette touche (ou d'autres), mais note bien que cela n'a pas
d'incidence sur l'allumage ou non du led correspondant (en tout cas pas
constaté sur un PC).
Attention aux sauts de ligne intempestifs !
La macro ActiveMaj, comme son nom l'indique, active la touche Majuscules.
Cordialement
Pascal
'****** Début du code *******
'constante touche majuscules
Const VK_CAPITAL = &H14
'verr num
Const VK_NUMLOCK = &H90
'arrêt défil
Const VK_SCROLL = &H91
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
'Fonction état d'une touche
Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As
Integer
'Fonction lire état des touches clavier
Private Declare Function GetKeyboardState Lib "user32" (kbArray As
KeyboardBytes) As Long
'Fonction définir état des toucvhes clavier
Private Declare Function SetKeyboardState Lib "user32" (kbArray As
KeyboardBytes) As Long
Dim kbArray As KeyboardBytes, KbOld As KeyboardBytes
'Macro de désactivation touje MAJ
Sub DesactiveMAJ()
'si la touche MAJ est active
If GetKeyState(VK_CAPITAL) = 1 Then
'récupérer l'état actuel des touches clavier (pour utilisation éventuelle)
GetKeyboardState KbOld
'appel de turnooff pour la touche MAJ
TurnOff VK_CAPITAL
'si la touche MAJ n'est pas active on affiche un message d'info
Else: MsgBox "La touche MAJ n'est pas active", vbInformation, "MAJ non
activée"
End If
End Sub
'Macro d'acitvation de MAJ
Sub ActiveMAJ()
'si la touche MAJ n'est pas active
If GetKeyState(VK_CAPITAL) = 0 Then
'récupérer l'état actuel des touches clavier (pour utilisation éventuelle)
GetKeyboardState KbOld
'appel de turnon pour la touche MAJ
TurnOn VK_CAPITAL
'sinon on affiche un message d'info
Else: MsgBox "La touche MAJ est déjà active", vbInformation, "MAJ activée"
End If
End Sub
'routine de désactivation de touche (prend en paramètre l'id de la touche)
Private Sub TurnOff(vkKey As Long)
'appel de la fonction pour lire l'état actuel des touches
GetKeyboardState kbArray
'définition de la valeur 0 (zéro) pour la désactivation
kbArray.kbByte(vkKey) = 0
'définition de l'état du clavier
SetKeyboardState kbArray
End Sub
'routin d'activation de touche (prend en paramètre l'id de la touche)
Private Sub TurnOn(vkKey As Long)
'appel de la fonction pour lire l'état actuel des touches
GetKeyboardState kbArray
'définition de la valeur 1 (un) pour l'activation
kbArray.kbByte(vkKey) = 1
'définition de l'état du clavier
SetKeyboardState kbArray
End Sub
'************************
"David" <(Pas de Spam)direction-ternoise@wanadoo.fr> a écrit dans le message
de news: uril4PmvEHA.4072@TK2MSFTNGP15.phx.gbl...
Bonjour et merci à vous deux
En fait cela n'est pas pour mettre en majuscule des lettres mais tout
simplement pour saisir (dans textBox) des chiffres sur un PC portable.
Re Dans ces conditions, ne s'agirait-il pas plutôt de la touche Majuscules ? Si c'est le cas, avec une API (c/f code ci-dessous) il est possible d'activer cette touche (ou d'autres), mais note bien que cela n'a pas d'incidence sur l'allumage ou non du led correspondant (en tout cas pas constaté sur un PC). Attention aux sauts de ligne intempestifs ! La macro ActiveMaj, comme son nom l'indique, active la touche Majuscules. Cordialement Pascal
'****** Début du code ******* 'constante touche majuscules Const VK_CAPITAL = &H14 'verr num Const VK_NUMLOCK = &H90 'arrêt défil Const VK_SCROLL = &H91 Private Type KeyboardBytes kbByte(0 To 255) As Byte End Type 'Fonction état d'une touche Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer 'Fonction lire état des touches clavier Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long 'Fonction définir état des toucvhes clavier Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long Dim kbArray As KeyboardBytes, KbOld As KeyboardBytes 'Macro de désactivation touje MAJ Sub DesactiveMAJ() 'si la touche MAJ est active If GetKeyState(VK_CAPITAL) = 1 Then 'récupérer l'état actuel des touches clavier (pour utilisation éventuelle) GetKeyboardState KbOld 'appel de turnooff pour la touche MAJ TurnOff VK_CAPITAL 'si la touche MAJ n'est pas active on affiche un message d'info Else: MsgBox "La touche MAJ n'est pas active", vbInformation, "MAJ non activée" End If End Sub 'Macro d'acitvation de MAJ Sub ActiveMAJ() 'si la touche MAJ n'est pas active If GetKeyState(VK_CAPITAL) = 0 Then 'récupérer l'état actuel des touches clavier (pour utilisation éventuelle) GetKeyboardState KbOld 'appel de turnon pour la touche MAJ TurnOn VK_CAPITAL 'sinon on affiche un message d'info Else: MsgBox "La touche MAJ est déjà active", vbInformation, "MAJ activée" End If End Sub 'routine de désactivation de touche (prend en paramètre l'id de la touche) Private Sub TurnOff(vkKey As Long) 'appel de la fonction pour lire l'état actuel des touches GetKeyboardState kbArray 'définition de la valeur 0 (zéro) pour la désactivation kbArray.kbByte(vkKey) = 0 'définition de l'état du clavier SetKeyboardState kbArray End Sub 'routin d'activation de touche (prend en paramètre l'id de la touche) Private Sub TurnOn(vkKey As Long) 'appel de la fonction pour lire l'état actuel des touches GetKeyboardState kbArray 'définition de la valeur 1 (un) pour l'activation kbArray.kbByte(vkKey) = 1 'définition de l'état du clavier SetKeyboardState kbArray End Sub '************************
"David" <(Pas de Spam) a écrit dans le message de news:
Bonjour et merci à vous deux
En fait cela n'est pas pour mettre en majuscule des lettres mais tout simplement pour saisir (dans textBox) des chiffres sur un PC portable.
Bonne journée
David
David
En étant un peu plus clair pour un débutant !!! Je mets ce code ou ?
J'aimerais : A l'arrivée sur TextBox8 je veux que cela active à la sortie que cela désactive
merci de ton aide
David
En étant un peu plus clair pour un débutant !!!
Je mets ce code ou ?
J'aimerais :
A l'arrivée sur TextBox8 je veux que cela active à la sortie que cela
désactive
En étant un peu plus clair pour un débutant !!! Je mets ce code ou ?
J'aimerais : A l'arrivée sur TextBox8 je veux que cela active à la sortie que cela désactive
merci de ton aide
David
papou
Re Tu places le code que je t'ai fourni dans un module standard et tu utilises les évènements Enter et Exit de ton Textbox pour appeler la procédure d'activation ou de désactivation de la touche : Private Sub TextBox8_Enter() ActiveMAJ End Sub Private Sub TextBox8_Exit(ByVal Cancel As MSForms.ReturnBoolean) DesactiveMAJ End Sub. Par contre il va falloir modifier un peu le code pour qu'il fonctionne avec ton Textbox. Donc tu colles plutôt ceci dans un module standard :
'*** Debut ************* 'constante touche majuscules Const VK_CAPITAL = &H14 'verr num Const VK_NUMLOCK = &H90 'arrêt défil Const VK_SCROLL = &H91 Private Type KeyboardBytes kbByte(0 To 255) As Byte End Type 'Fonction état d'une touche Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer 'Fonction lire état des touches clavier Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long 'Fonction définir état des toucvhes clavier Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long Dim kbArray As KeyboardBytes, KbOld As KeyboardBytes 'Macro de désactivation touje MAJ Public Sub DesactiveMAJ() 'si la touche MAJ est active If GetKeyState(VK_CAPITAL) = 1 Then 'récupérer l'état actuel des touches clavier (pour utilisation éventuelle) GetKeyboardState KbOld 'appel de turnooff pour la touche MAJ TurnOff VK_CAPITAL 'si la touche MAJ n'est pas active on affiche un message d'info Else: MsgBox "La touche MAJ n'est pas active", vbInformation, "MAJ non activée" End If End Sub 'Macro d'acitvation de MAJ Public Sub ActiveMAJ() 'si la touche MAJ n'est pas active If GetKeyState(VK_CAPITAL) = 0 Then 'récupérer l'état actuel des touches clavier (pour utilisation éventuelle) GetKeyboardState KbOld 'appel de turnon pour la touche MAJ TurnOn VK_CAPITAL 'sinon on affiche un message d'info Else: MsgBox "La touche MAJ est déjà active", vbInformation, "MAJ activée" End If End Sub 'routine de désactivation de touche (prend en paramètre l'id de la touche) Public Sub TurnOff(vkKey As Long) 'appel de la fonction pour lire l'état actuel des touches GetKeyboardState kbArray 'définition de la valeur 0 (zéro) pour la désactivation kbArray.kbByte(vkKey) = 0 'définition de l'état du clavier SetKeyboardState kbArray End Sub 'routin d'activation de touche (prend en paramètre l'id de la touche) Public Sub TurnOn(vkKey As Long) 'appel de la fonction pour lire l'état actuel des touches GetKeyboardState kbArray 'définition de la valeur 1 (un) pour l'activation kbArray.kbByte(vkKey) = 1 'définition de l'état du clavier SetKeyboardState kbArray End Sub '*** Fin code ***
Cordialement Pascal
"David" <(Pas de Spam) a écrit dans le message de news: %
En étant un peu plus clair pour un débutant !!! Je mets ce code ou ?
J'aimerais : A l'arrivée sur TextBox8 je veux que cela active à la sortie que cela désactive
merci de ton aide
David
Re
Tu places le code que je t'ai fourni dans un module standard et tu utilises
les évènements Enter et Exit de ton Textbox pour appeler la procédure
d'activation ou de désactivation de la touche :
Private Sub TextBox8_Enter()
ActiveMAJ
End Sub
Private Sub TextBox8_Exit(ByVal Cancel As MSForms.ReturnBoolean)
DesactiveMAJ
End Sub.
Par contre il va falloir modifier un peu le code pour qu'il fonctionne avec
ton Textbox.
Donc tu colles plutôt ceci dans un module standard :
'*** Debut *************
'constante touche majuscules
Const VK_CAPITAL = &H14
'verr num
Const VK_NUMLOCK = &H90
'arrêt défil
Const VK_SCROLL = &H91
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
'Fonction état d'une touche
Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As
Integer
'Fonction lire état des touches clavier
Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As
Long
'Fonction définir état des toucvhes clavier
Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As
Long
Dim kbArray As KeyboardBytes, KbOld As KeyboardBytes
'Macro de désactivation touje MAJ
Public Sub DesactiveMAJ()
'si la touche MAJ est active
If GetKeyState(VK_CAPITAL) = 1 Then
'récupérer l'état actuel des touches clavier (pour utilisation éventuelle)
GetKeyboardState KbOld
'appel de turnooff pour la touche MAJ
TurnOff VK_CAPITAL
'si la touche MAJ n'est pas active on affiche un message d'info
Else: MsgBox "La touche MAJ n'est pas active", vbInformation, "MAJ non
activée"
End If
End Sub
'Macro d'acitvation de MAJ
Public Sub ActiveMAJ()
'si la touche MAJ n'est pas active
If GetKeyState(VK_CAPITAL) = 0 Then
'récupérer l'état actuel des touches clavier (pour utilisation éventuelle)
GetKeyboardState KbOld
'appel de turnon pour la touche MAJ
TurnOn VK_CAPITAL
'sinon on affiche un message d'info
Else: MsgBox "La touche MAJ est déjà active", vbInformation, "MAJ activée"
End If
End Sub
'routine de désactivation de touche (prend en paramètre l'id de la touche)
Public Sub TurnOff(vkKey As Long)
'appel de la fonction pour lire l'état actuel des touches
GetKeyboardState kbArray
'définition de la valeur 0 (zéro) pour la désactivation
kbArray.kbByte(vkKey) = 0
'définition de l'état du clavier
SetKeyboardState kbArray
End Sub
'routin d'activation de touche (prend en paramètre l'id de la touche)
Public Sub TurnOn(vkKey As Long)
'appel de la fonction pour lire l'état actuel des touches
GetKeyboardState kbArray
'définition de la valeur 1 (un) pour l'activation
kbArray.kbByte(vkKey) = 1
'définition de l'état du clavier
SetKeyboardState kbArray
End Sub
'*** Fin code ***
Cordialement
Pascal
"David" <(Pas de Spam)direction-ternoise@wanadoo.fr> a écrit dans le message
de news: %23IBUWfmvEHA.4072@TK2MSFTNGP15.phx.gbl...
En étant un peu plus clair pour un débutant !!!
Je mets ce code ou ?
J'aimerais :
A l'arrivée sur TextBox8 je veux que cela active à la sortie que cela
désactive
Re Tu places le code que je t'ai fourni dans un module standard et tu utilises les évènements Enter et Exit de ton Textbox pour appeler la procédure d'activation ou de désactivation de la touche : Private Sub TextBox8_Enter() ActiveMAJ End Sub Private Sub TextBox8_Exit(ByVal Cancel As MSForms.ReturnBoolean) DesactiveMAJ End Sub. Par contre il va falloir modifier un peu le code pour qu'il fonctionne avec ton Textbox. Donc tu colles plutôt ceci dans un module standard :
'*** Debut ************* 'constante touche majuscules Const VK_CAPITAL = &H14 'verr num Const VK_NUMLOCK = &H90 'arrêt défil Const VK_SCROLL = &H91 Private Type KeyboardBytes kbByte(0 To 255) As Byte End Type 'Fonction état d'une touche Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer 'Fonction lire état des touches clavier Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long 'Fonction définir état des toucvhes clavier Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long Dim kbArray As KeyboardBytes, KbOld As KeyboardBytes 'Macro de désactivation touje MAJ Public Sub DesactiveMAJ() 'si la touche MAJ est active If GetKeyState(VK_CAPITAL) = 1 Then 'récupérer l'état actuel des touches clavier (pour utilisation éventuelle) GetKeyboardState KbOld 'appel de turnooff pour la touche MAJ TurnOff VK_CAPITAL 'si la touche MAJ n'est pas active on affiche un message d'info Else: MsgBox "La touche MAJ n'est pas active", vbInformation, "MAJ non activée" End If End Sub 'Macro d'acitvation de MAJ Public Sub ActiveMAJ() 'si la touche MAJ n'est pas active If GetKeyState(VK_CAPITAL) = 0 Then 'récupérer l'état actuel des touches clavier (pour utilisation éventuelle) GetKeyboardState KbOld 'appel de turnon pour la touche MAJ TurnOn VK_CAPITAL 'sinon on affiche un message d'info Else: MsgBox "La touche MAJ est déjà active", vbInformation, "MAJ activée" End If End Sub 'routine de désactivation de touche (prend en paramètre l'id de la touche) Public Sub TurnOff(vkKey As Long) 'appel de la fonction pour lire l'état actuel des touches GetKeyboardState kbArray 'définition de la valeur 0 (zéro) pour la désactivation kbArray.kbByte(vkKey) = 0 'définition de l'état du clavier SetKeyboardState kbArray End Sub 'routin d'activation de touche (prend en paramètre l'id de la touche) Public Sub TurnOn(vkKey As Long) 'appel de la fonction pour lire l'état actuel des touches GetKeyboardState kbArray 'définition de la valeur 1 (un) pour l'activation kbArray.kbByte(vkKey) = 1 'définition de l'état du clavier SetKeyboardState kbArray End Sub '*** Fin code ***
Cordialement Pascal
"David" <(Pas de Spam) a écrit dans le message de news: %
En étant un peu plus clair pour un débutant !!! Je mets ce code ou ?
J'aimerais : A l'arrivée sur TextBox8 je veux que cela active à la sortie que cela désactive