VBA EXCEL 2003 Détections touches clavier [Résolu]

Signaler
Messages postés
2
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
4 août 2010
-
Messages postés
2
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
4 août 2010
-
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

Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
4
Bonjour,


Contrôle donc à la fin, en vérifiant que c'est bien une heure (isdate) et qu'elle correspond au format imposé (like "##:##"
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
4
pardon :
Like "##:
##"
Messages postés
2
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
4 août 2010

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