Problème code touche clavier - vba

badman011 Messages postés 8 Date d'inscription vendredi 11 février 2005 Statut Membre Dernière intervention 1 octobre 2017 - 5 mai 2011 à 23:31
badman011 Messages postés 8 Date d'inscription vendredi 11 février 2005 Statut Membre Dernière intervention 1 octobre 2017 - 6 mai 2011 à 22:36
Bonjour à tous,

Je viens à vous pour espérer trouver une solution à mon problème qui est le suivant:

j'utilise la fonction GetAsyncKeyState(x) pour détecter l'appuie d'une touche clavier avec une boucle de 1 à 255.
Mais lorsque j'appuie sur la touche 1 du pavé numérique cela me renvoie le code 97 et me dit que j'ai appuyé sur a... 2 cela me dit b etc...
lorsque j'appuie sur a en minuscule cela me l'affiche toujours en A majuscule.

Je voulais savoir comment rendre cohérent la pression de la touche du clavier et l’interprétation par le vba?

Merci si quelqu'un trouve une solution pour que lorsque j'appuie sur une touche du clavier il me dise vraiment sur laquelle j'ai appuyé

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
6 mai 2011 à 07:47
Salut

Si la touche 1 te renvoie 97, c'est qu'il y a un problème.
Quel est ton code ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
badman011 Messages postés 8 Date d'inscription vendredi 11 février 2005 Statut Membre Dernière intervention 1 octobre 2017
6 mai 2011 à 18:08
voici un bout de mon code :

For i = 1 To 255
result = 0
result = GetAsyncKeyState(i)
If result = -32767 Then
'on assigne à touche le caractère du code de la touche
touche = Chr$(i)
'box pour voir le code de la touche
MsgBox (i)
End If
Next i
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 mai 2011 à 22:27
Bonjour,

et tu le vois où, ton résultat, avec ce code ? : (je le commente)
For i = 1 To 255 
....
touche Chr$(i) ' touche donc le caractère de code i !
...
MsgBox (i) ' et tu affiches i !
...
Next i


C'est une plaisanterie ou quoi ?

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
badman011 Messages postés 8 Date d'inscription vendredi 11 février 2005 Statut Membre Dernière intervention 1 octobre 2017
6 mai 2011 à 22:36
la message box me renvoie le code 97 lorsque je presse la touche 1 du pavé numérique
hors touche = a

d’où l'objet de mon interrogation...
pour savoir quelle fonction utiliser pour être plus cohérent entre la frappe clavier et l’interprétation code
Je ne vois pas en quoi je plaisante, c'est la parti du code qui est en relation avec ma question.
0
Rejoignez-nous