VBA EXCEL 2003 Détections touches clavier

Résolu
pigat Messages postés 4 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 4 mars 2022 - 6 févr. 2009 à 01:41
pigat Messages postés 4 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 4 mars 2022 - 9 févr. 2009 à 15:04
Bonjour à tous
Je suis presque débutant en VBA et je bute sur un problème de détection de touches clavier.
En effet je voudrais après avoir saisie mon texte au format "heures:minutes dans une cellule et fait "Entrée", avec l'évènement "Worksheet_Change" ou autre récupérer le code de toutes les touches que j'ai appuyées lors de la saisie de façon à faire un controle (la variable "target" deWorksheet_Change ne renvoie qu'un nombre représentant mon entrée "heures:minutes") ce qui ne n'est pas exactement le reflet des touches appuyées (ex:  tapé 0.2 au lieu de 0:2 ne donne pas du tout le mème résultat d'affichage , tout en étant dans les 2 cas des entrées acceptées). J'ai essayé d'utiliser "Private Sub Form_KeyPress(KeyAscii As Integer)" ou mème l'API "Declare FunctionGetKeyState Lib "user32" (ByVal nVirtKey As Long)As Integer" mais sans résultat.(je n'arive pas à comprendre comment déclancher ces fonctions chaque fois qu'une touche est appuyée). Il me manque manifestement la logique voulue!
Merci aux personnes qui pourraient m'aider soit en me donnant du code ou en m'aiguillant sur la façon de procèder.
MERCI

3 réponses

jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
6 févr. 2009 à 10:24
Bonjour,


Contrôle donc à la fin, en vérifiant que c'est bien une heure (isdate) et qu'elle correspond au format imposé (like "##:##"
3
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
6 févr. 2009 à 10:25
pardon :
Like "##:
##"
3
pigat Messages postés 4 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 4 mars 2022
9 févr. 2009 à 15:04
Merci Jacques pour votre réponse aussi rapide.
Pour ma part j'ai tarder à répondre ,ne connaissant pas cette commande cela m'a fait remanier mon progamme car je travallait avec des cellules au format "h:mn" (de façon à faire des calculs mathématiques) alors que cette commande marche avec des cellules au format "texte".
Cela à donc compliqué un peu les choses mais c'est OK
Merci encore
Amitiés
0
Rejoignez-nous