Soucis avec la touche Verr.Num
dudulleray
-
dudulleray -
dudulleray -
Bonjour a toutes et tous, Forum bonjour
Excel VBA
Voila avec le code ci-dessous, je saisi une date dans MonthView qui va s'incrire dans le TextBox4
j'utilise SendKeys "{ENTER}" pour sortir automatiquement du TextBox4
et le problème c'est que ca m'éteint le voyant du clavier touche (Verr. Num)
c'est assez désagréable car je n'ai pas les yeux rivés en permanence sur le dit voyant
Le but étant de sortir automatiquement du TextBox4 dès que j'ai cliquer sur mon choix de Date
Merci a tous pour votre aide et bonne journée a vous
Cdlt Ray
Excel VBA
Voila avec le code ci-dessous, je saisi une date dans MonthView qui va s'incrire dans le TextBox4
j'utilise SendKeys "{ENTER}" pour sortir automatiquement du TextBox4
et le problème c'est que ca m'éteint le voyant du clavier touche (Verr. Num)
c'est assez désagréable car je n'ai pas les yeux rivés en permanence sur le dit voyant
Le but étant de sortir automatiquement du TextBox4 dès que j'ai cliquer sur mon choix de Date
Merci a tous pour votre aide et bonne journée a vous
Cdlt Ray
'*** SAISIE DE LA DATE DANS LE CALENDRIER (MonthView1)
Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
UserForm1.TextBox4.Value = Application.Proper(Format(UserForm2.MonthView1.Value, "dd/mmm/yyyy"))
DateExpiration = UserForm1.TextBox4.Value
Ws.Range("B27") = DateExpiration 'Stocke Date d'Expiration sur Feuil(Compte)= Ws
SendKeys "{ENTER}" 'Simule la touche "ENTER" pour sortir du TextBox4
Unload Me 'Sort de l'UserForm calendrier(MonthView1)
End Sub
10 réponses
-
Bonjour,
Je ne sais pas ce qui provoque ce souci (je n'ai pas réussi à reproduire) mais tu peux "tricher".
Dans l'événement LostFocus de ton TextBox4, tu peux mettre un code commeDim Num As Boolean
'Récupère l'état du pavé Numérique
If (&H1 And GetKeyState(vbKeyNumlock)) <> 1 Then 'si Verr Num eteint
SendKeys "{NUMLOCK}" 'active Verr Num
End If
Tu peux aller un peux plus loin en stockant l'état de Verr Num sur l'évément GotFocus de TextBox4 pour remettre le même dans le LostFocus...If (&H1 And GetKeyState(vbKeyNumlock)) = 1 Then
--------------------------------
Num = True
End IfIf (&H1 And GetKeyState(vbKeyNumlock)) <> Num Then
SendKeys "{NUMLOCK}" 'active Verr Num
End If -
Bonjour MrYAU31
Merci pour ta réponse rapide et pour le code
j'ai regarder le code proposé, mais la ca dépasse mon savoir, je ne sais pas faire
ce type de code.
Si toutefois tu avais un peu de temps, dit moi svp comment je pourrai faire pour réaliser le code.
Merci a toi et une bonne journée
Cdlt Ray -
Tu veux faire quoi ? je t'ai déjà mis le code à ajouter dans tes événements.
J'ai pas été assez gentil ? :-) -
Salut MrYAU31
Si si tu es très gentil, je n'en doute pas une seconde, LOL , c'est juste que moi je
ne sait pas plus que ca.
Bon j'ai essayer le code ci dessous mais évidemment
j'ai une erreur de compilation Sub ou Function non définie
avec le mot GetKeyState en erreur
je souhaite un bon app, je revoie ca après déjeuner, merci bien
Ray
Private Sub TextBox4_LostFocus()
Dim Num As Boolean
If (&H1 And GetKeyState(vbKeyNumlock)) <> 1 Then
SendKeys "{NUMLOCK}"
End If
'If (&H1 And GetKeyState(vbKeyNumlock)) = 1 Then
'Num = True
'End If
'If (&H1 And GetKeyState(vbKeyNumlock)) <> Num Then
'SendKeys "{NUMLOCK}" 'active Verr Num
'End If
End Sub -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Oups, aurais-je oublier une déclaration ? :-)
AjoutePublic Function GetKeyState Lib "user32" (ByVal nVirtKey As Short) As Integer
A ajouter directement dans la classe de ton Form, pas dans un Sub. -
Re Salut MrYAU31
Je viens de faire de nouveau un essai avec le code en plus et j'ai une nouvelle erreur
Erreur de compilation Type défini par l'utilisateur non défini
j'ai mis le code du textbox4 a la suite du code 'USERFORM INITIALISE et la déclaration en tète bien sur
Voila bonne Après midi
Ray -
Mais t'es en VBA en fait. J'avais pas percuté.
Je cherche un peu... -
-
Avec ce lien, ça devrait être bon pour toi. Il y a des exemples ;-)
https://support.microsoft.com/fr-fr/help/462533 -
Pour etre franc je ne comprends pas grand chose a ces codes.
j'ai lu qu'effectivement on pourrai sans doute résoudre mon soucis mais je ne suis pas assez féru en vba pour coder ce dont j'ai besoin.
Sans compter sur les risques encouru si je me plante d'après les avertissements ci dessous.
Cet exemple est fourni à titre d'information pour les utilisateurs
avertis. Si vous utilisez incorrectement des fonctions API, vous risquez
de causer des erreurs au niveau de votre système d'exploitation et de
devoir redémarrer votre ordinateur.
Voila bon ne te casse pas la tète, c'est pas grave, mon programme fonctionne tout de mème
Merci pour tes recherches Mr gentil LOL
Ray