OVH Cloud OVH Cloud

KeyPress=probleme

2 réponses
Avatar
JCM
Bonjour

Je bidouille depuis ce matin sans trouver la solution,=20
pouvez-vous m'aider avant que je pette les plombs

Dans une proc=E9dure j'ai le code suivant :

'---- Touche de fonction
Private Sub Grille_KeyDown(KeyCode As Integer, Shift As=20
Integer)
If KeyCode =3D vbKeyEscape Then
' Echappement
Valeur.SetFocus
ElseIf KeyCode =3D vbKeyDelete Then
' Suppression
Grille.Clip =3D ""
Valeur.Text =3D Grille.Text
End If
End Sub

'---- Touche du clavier
Private Sub Grille_KeyPress(KeyAscii As Integer)
' Passe le caract=E8re au texte
Valeur.SetFocus
Valeur.Text =3D Chr$(KeyAscii)
Valeur.SelStart =3D 2
Valeur.SelLength =3D 0
End Sub

'---- Bouton OK
Private Sub OK_Click()
Grille.Text =3D Valeur.Text
Grille.SetFocus
Valeur.Visible =3D False
End Sub

Je veux supprimer le bouton OK et le remplacer par la=20
proc=E9dure suivante :

Sub valeur_KeyPress(KeyAscii As Integer)
If Valeur.Visible =3D False Then
Valeur.Visible =3D True
End If
If KeyAscii =3D 13 Then
Grille.Text =3D Valeur.Text
Grille.SetFocus
Valeur.Visible =3D False
End If
End Sub

Et cela ne marche pas .. OU EST L'ERREUR ?

Merci de vos r=E9ponses
cordialement
JCM

2 réponses

Avatar
ng
Salut,

J'ai pas tout suivis, mais quel est le comportement attendu ? qui se produit
? Essaye peut être de vider le buffer touche si elle a été traitée par ton
code dans les KeyPress :

KeyAscii = 0

Et surtout ne pas oublier le KeyPreview = True pour les form/usercontrol.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
"JCM" a écrit dans le message de news:
66df01c3e665$de2073e0$
Bonjour

Je bidouille depuis ce matin sans trouver la solution,
pouvez-vous m'aider avant que je pette les plombs

Dans une procédure j'ai le code suivant :

'---- Touche de fonction
Private Sub Grille_KeyDown(KeyCode As Integer, Shift As
Integer)
If KeyCode = vbKeyEscape Then
' Echappement
Valeur.SetFocus
ElseIf KeyCode = vbKeyDelete Then
' Suppression
Grille.Clip = ""
Valeur.Text = Grille.Text
End If
End Sub

'---- Touche du clavier
Private Sub Grille_KeyPress(KeyAscii As Integer)
' Passe le caractère au texte
Valeur.SetFocus
Valeur.Text = Chr$(KeyAscii)
Valeur.SelStart = 2
Valeur.SelLength = 0
End Sub

'---- Bouton OK
Private Sub OK_Click()
Grille.Text = Valeur.Text
Grille.SetFocus
Valeur.Visible = False
End Sub

Je veux supprimer le bouton OK et le remplacer par la
procédure suivante :

Sub valeur_KeyPress(KeyAscii As Integer)
If Valeur.Visible = False Then
Valeur.Visible = True
End If
If KeyAscii = 13 Then
Grille.Text = Valeur.Text
Grille.SetFocus
Valeur.Visible = False
End If
End Sub

Et cela ne marche pas .. OU EST L'ERREUR ?

Merci de vos réponses
cordialement
JCM
Avatar
JCM
Bonjour

dans mon appli avec les procédures : touche de fonction,
touche du clavier, bouton OK et sub valeur_keypress cela
fonctionne.

Mais je veux supprimer bouton OK et laisser le sub valeur
Keypress qui rempli les memes fonctions

et là cela Beug

JCM
-----Message d'origine-----
Salut,

J'ai pas tout suivis, mais quel est le comportement


attendu ? qui se produit
? Essaye peut être de vider le buffer touche si elle a


été traitée par ton
code dans les KeyPress :

KeyAscii = 0

Et surtout ne pas oublier le KeyPreview = True pour les


form/usercontrol.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
"JCM" a écrit dans le


message de news:
66df01c3e665$de2073e0$
Bonjour

Je bidouille depuis ce matin sans trouver la solution,
pouvez-vous m'aider avant que je pette les plombs

Dans une procédure j'ai le code suivant :

'---- Touche de fonction
Private Sub Grille_KeyDown(KeyCode As Integer, Shift As
Integer)
If KeyCode = vbKeyEscape Then
' Echappement
Valeur.SetFocus
ElseIf KeyCode = vbKeyDelete Then
' Suppression
Grille.Clip = ""
Valeur.Text = Grille.Text
End If
End Sub

'---- Touche du clavier
Private Sub Grille_KeyPress(KeyAscii As Integer)
' Passe le caractère au texte
Valeur.SetFocus
Valeur.Text = Chr$(KeyAscii)
Valeur.SelStart = 2
Valeur.SelLength = 0
End Sub

'---- Bouton OK
Private Sub OK_Click()
Grille.Text = Valeur.Text
Grille.SetFocus
Valeur.Visible = False
End Sub

Je veux supprimer le bouton OK et le remplacer par la
procédure suivante :

Sub valeur_KeyPress(KeyAscii As Integer)
If Valeur.Visible = False Then
Valeur.Visible = True
End If
If KeyAscii = 13 Then
Grille.Text = Valeur.Text
Grille.SetFocus
Valeur.Visible = False
End If
End Sub

Et cela ne marche pas .. OU EST L'ERREUR ?

Merci de vos réponses
cordialement
JCM


.