Met la propriété KeyPreview de ta Form à True et ajoute ceci:
Private Sub Form_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 10
Label1 = "[Changement ligne]"
Case 13
Label1 = "[Retour charriot (Enter)]"
Case 32
Label1 = "[Espace]"
Case 48 To 57 '0-9
Label1 = Chr$(KeyAscii)
Case 65 To 90, 97 To 122 'A-Z, a-z
Label1 = Chr$(KeyAscii)
Case Else
Label1 = "[Char autre]"
End Select
End Sub
Bien sûr, on peux faire mieux :)
OU si tu veux plus de précision:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim strTmp1 As String
Select Case KeyCode
Case 10
strTmp1 = "[Changement ligne]"
Case 13
strTmp1 = "[Retour charriot (Enter)]"
' Case 16
' strTmp1 = "[Shift Seul]" 'Il faut taper une autre touche auparavent, Alt ou Ctrl
'
' Case 17
' strTmp1 = "[Ctrl Seul]"
'
' Case 18
' strTmp1 = "[Alt Seul]"
Case 32
strTmp1 = "[Espace]"
Case 48 To 57 '0-9
strTmp1 = Chr$(KeyCode)
Case 65 To 90, 97 To 122 'A-Z, a-z
strTmp1 = Chr$(KeyCode)
' Case Else
' strTmp1 = "[Char autre]"
End Select
If (LenB(strTmp1) > 0) Then
If (Shift And vbShiftMask) Then
strTmp1 = "[Shift]+" & strTmp1
Else
strTmp1 = Chr$(Asc(strTmp1) + 32)
End If
If (Shift And vbCtrlMask) Then
strTmp1 = "[Ctrl]+" & strTmp1
'Else
End If
If (Shift And vbAltMask) Then
strTmp1 = "[Alt]+" & strTmp1
'Else
End If
'Else
End If
Label1 = strTmp1
End Sub
C'est pas parfait, mais c'est bien >:)