Récupérer code touche appuyée
Fermé
seylione
Messages postés
8
Date d'inscription
mercredi 14 novembre 2012
Statut
Membre
Dernière intervention
2 décembre 2013
-
10 avril 2013 à 12:13
Yoda - 10 avril 2013 à 16:59
Yoda - 10 avril 2013 à 16:59
Bonjour,
et mes excuses pour une question simple?
Je traite des données climatologiques sous Excel 2000 (eh oui) avec VBA qui vient avec.
Après traitement d'une journée je veux passer à (la précédente ¦ la suivante ¦ou arrêter)
Inputbox est une procédure lourde car il faut faire OK une fois une touche saisie
Comment donc récupérer le code d'une touche appuyée pour ensuite la comparer aux codes standard de VBA 2000?
Merci
et mes excuses pour une question simple?
Je traite des données climatologiques sous Excel 2000 (eh oui) avec VBA qui vient avec.
Après traitement d'une journée je veux passer à (la précédente ¦ la suivante ¦ou arrêter)
Inputbox est une procédure lourde car il faut faire OK une fois une touche saisie
Comment donc récupérer le code d'une touche appuyée pour ensuite la comparer aux codes standard de VBA 2000?
Merci
A voir également:
- Récupérer code touche appuyée
- Recuperer message whatsapp supprimé - Guide
- Touche rémanente - Guide
- Recuperer video youtube - Guide
- Code asci - Guide
- Code puk bloqué - Guide
2 réponses
Bonjour,
On peut associer une macro à un raccourci clavier.
Pour rappel, un raccourci clavier est l'appui simultané de la touche Ctrl et d'une lettre. Par exemple:
Ctrl+A pour precedent
Ctrl+S pour suivant
Ctrl+Q pour fini
Pour cela aller dans Outils/Macro/Nouvelle macro et definir le raccourci clavier
Arreter tout de suite l'enregistrement de la macro ou enregister une commande, aller dans l'éditeur VB et modifier le code de la macro.
Revenir dans une feuille excel et appuyer sur le raccourci, normalement la macro doit s'executer.
A+.
On peut associer une macro à un raccourci clavier.
Pour rappel, un raccourci clavier est l'appui simultané de la touche Ctrl et d'une lettre. Par exemple:
Ctrl+A pour precedent
Ctrl+S pour suivant
Ctrl+Q pour fini
Pour cela aller dans Outils/Macro/Nouvelle macro et definir le raccourci clavier
Arreter tout de suite l'enregistrement de la macro ou enregister une commande, aller dans l'éditeur VB et modifier le code de la macro.
Revenir dans une feuille excel et appuyer sur le raccourci, normalement la macro doit s'executer.
A+.
seylione
Messages postés
8
Date d'inscription
mercredi 14 novembre 2012
Statut
Membre
Dernière intervention
2 décembre 2013
Modifié par seylione le 10/04/2013 à 14:26
Modifié par seylione le 10/04/2013 à 14:26
Bonsoir Yoda,
Mais là je suis dans l'exécution du script, et à un moment donné, je voudrais saisir juste une touche pour orienter la suite des opérations.
Pour l'instant j'ai au sein d'une boucle do... loop until PL=0:
...
MSG = "+ pour jour suivant, - pour précédent, _ pour terminer"
QQ = InputBox(MSG)
If QQ = "+" Then
JN = JN + 1 ' JN: date à étudier
ElseIf QQ = "-" Then
JN = JN - 1
Else:
QQ = ""
PL = 0 ' PL: variable pour sortir d'on Do...Loop
End If
Un peu lourd. Je cherche plutôt
Récupérer TT = valeur de la touche appuyée (par ex. <, >, _)
If TT = code pour ">" Then
JN=JN+1
ElseIf TT= code pour "<" Then
JN=JN-1
Else
PL=0
EndIf
Voilà
Merci pour ces réponses
Système: XPSP3, FFox, EXCEL 2000
Mais là je suis dans l'exécution du script, et à un moment donné, je voudrais saisir juste une touche pour orienter la suite des opérations.
Pour l'instant j'ai au sein d'une boucle do... loop until PL=0:
...
MSG = "+ pour jour suivant, - pour précédent, _ pour terminer"
QQ = InputBox(MSG)
If QQ = "+" Then
JN = JN + 1 ' JN: date à étudier
ElseIf QQ = "-" Then
JN = JN - 1
Else:
QQ = ""
PL = 0 ' PL: variable pour sortir d'on Do...Loop
End If
Un peu lourd. Je cherche plutôt
Récupérer TT = valeur de la touche appuyée (par ex. <, >, _)
If TT = code pour ">" Then
JN=JN+1
ElseIf TT= code pour "<" Then
JN=JN-1
Else
PL=0
EndIf
Voilà
Merci pour ces réponses
Système: XPSP3, FFox, EXCEL 2000
Si le script est executé avec un UserForm, on peut utiliser l'evenement KeyPress
Pacer le pointeur sur l'USF et appuyer sur une touche, le message affiche de code asscii de la touche: pour le "+" c'est 43
ensuite on analyse le code retourné dans un Select Case ... End Select
Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) MsgBox KeyAscii End Sub
Pacer le pointeur sur l'USF et appuyer sur une touche, le message affiche de code asscii de la touche: pour le "+" c'est 43
ensuite on analyse le code retourné dans un Select Case ... End Select
Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Select Case KeyAscii Case 43 '+ 'Instructions Case 60 '< 'Instructions Case 62 '> 'Instructions End Select End Sub