Boucle tant qu'une touche n'est enfoncée ou relâchée

Résolu
lucasgaetan Messages postés 8 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 25 mars 2011 - 25 mars 2011 à 10:02
lucasgaetan Messages postés 8 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 25 mars 2011 - 25 mars 2011 à 14:10
Bonjour,

je suis débutant et j'ai encore du mal avec les évènements
Je souhaite faire une boucle tant qu'une touche n'est enfoncée ou relâchée

du type:
MsgBox "Veuillez Appuyer sur Ctrl"
Do
    blabla
Loop While la  touche Ctrl n'est enfoncée

MsgBox "Veuillez Relâcher sur Ctrl"
Do
    blabla
Loop While la  touche Ctrl n'est relâchée


J'ai peut être mal cherché (sans doute pas le bon vocabulaire) mais je n'est rien trouvé à ce sujet

Merci d'avance pour votre aide

3 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 mars 2011 à 10:58
Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer
Private Function IsCtrlKeyPressed() As Boolean
    IsCtrlKeyPressed = GetAsyncKeyState(vbKeyControl) And &H8000
End Function

Private Sub Form_Click()
    Me.Caption = "Veuillez Appuyer sur Ctrl"
    Do
        DoEvents
    Loop Until IsCtrlKeyPressed

    Me.Caption = "Veuillez Relâcher sur Ctrl"
    Do
        DoEvents
    Loop While IsCtrlKeyPressed
    
    Me.Caption = "Merci d'avoir joué à ""Tu pousses le bouton""."
End Sub


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
3
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
25 mars 2011 à 10:44
Bonjour,

Evenements :
KeyDown et KeyUp
Avec un Timer, je pense que tu auras tout.

Mon site
0
lucasgaetan Messages postés 8 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 25 mars 2011
25 mars 2011 à 14:10
Merci Renfield

c'est exactement ce que je cherchais

Juste pour les débutant comme moi je précise que "Sub Form_Click()" peut être modifier par l’évènement voulu

"Private Sub TextBox1_Change()" par exemple ou autres
0
Rejoignez-nous