Je veux faire un Makro avec VBA qui mesure la quantité de temps que l'utilisateur appuie sur une touche, par exemple l'espace. Et lorsque l'utilisateur cesse d'appuyer dessus, l'heure est enregistrée et ajoutée à l'heure à laquelle vous appuyez de nouveau sur la touche. Je suis nouveau à VBA et j'ai quelques problèmes avec la syntaxe. J'ai donc trouvé les fonctions keyUP et keyDown here, mais il semble que je ne l'utilise pas dans le bon sens.VBA obtenir la quantité de temps une touche est pressée
Mon code à ce jour:
Sub KeyTime()
Time_old = 0
Range("A1").Value = Time_old
If Form_KeyDown(vbKeySpace, 0) Then
Start_time = Timer
If Form_KeyUp(vbKeySpace, 0) Then
End_time = Timer
Time = End_time - Start_time + Time_old
Time_old = Time
Range("A1").Value = Time_old
End If
End If
End Sub
Désolé pour demander, mais vous essayez de l'utiliser comme un événement de la forme, non? – Pav
Cela devrait arriver si l'utilisateur appuie sur la touche espace quelque part dans le document Excel. –
À droite, le code que vous avez publié était un peu trompeur alors que form_KeyDown est un événement déclenché dans les formulaires, pas dans les feuilles de calcul. D'où la solution présentée par Thomas Inzina (une belle!) Ne fonctionnera pas. – Pav