Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

zones de listes avec la touche entrée BIS

16 réponses
Avatar
yannick
bonjour à tous,
J'avais posé une question le 21/07/05 sur l'effet de la touche entrée sur
les listes box et Eric m'avais bien répondu mais je ne peux pas utiliser
cette solution car dans tous les formulaires je ne peux plus passer de champs
a champs par la touche entrée mais par TAb et ceci est un inconvenient pour
les utilisateurs.

J'avais soulever comme question que s'il on pouvait mettre simplement sur
les listes box sur un evenement (lequel je ne sais pas ) un keycode = la
valeur de la touche entrée que lorsque je passe sur la liste box l'effet de
la touche entrée change au lieu de passer de champs a champs et reste dans
dans la liste et valide la ligne de cette liste box.

J'espère que vous m'avez compris dans mes explications

en attente de toutes solutions je vous souhaite un bon dimanche.

Yannick

10 réponses

1 2
Avatar
pgz
J'ai peut-être une solution à te proposer.
1. Laisser la touche entrée active.
2. Dans le formulaire créer une procédure évènementielle par ex sur touche
relâchée (On KeyUp)
3.Dans le formulaire mettre la propriété 'Aperçu des touches' (KeyPreview)
sur OUI, ce qui te permettra d'avoir la procédure clavier traitée avant celle
du contrôle lors de l'action sur la touche 'entrée'
La procédure évènementielle doit vérifier qu'il s'agit de la touche 'entrée'
et que ta liste déroulante a le focus pour agir comme tu le souhaites. Sinon
exit sub.
Autre solution:
Utiliser une autre touche ou une combinaison comme 'CTRL-Entrée', le reste
est pareil.
Tout cela, si j'ai bien compris.
pgz


bonjour à tous,
J'avais posé une question le 21/07/05 sur l'effet de la touche entrée sur
les listes box et Eric m'avais bien répondu mais je ne peux pas utiliser
cette solution car dans tous les formulaires je ne peux plus passer de champs
a champs par la touche entrée mais par TAb et ceci est un inconvenient pour
les utilisateurs.

J'avais soulever comme question que s'il on pouvait mettre simplement sur
les listes box sur un evenement (lequel je ne sais pas ) un keycode = la
valeur de la touche entrée que lorsque je passe sur la liste box l'effet de
la touche entrée change au lieu de passer de champs a champs et reste dans
dans la liste et valide la ligne de cette liste box.

J'espère que vous m'avez compris dans mes explications

en attente de toutes solutions je vous souhaite un bon dimanche.

Yannick



Avatar
yannick
Merci de m'avoir répondu

j' ai mis ceci:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn And Listebox = True Then
MsgBox "j'execute ma procedure"
End If
End Sub
Le probleme que j'ai c'est que lorsque j'arrive sur la listebox, je suis
obliger de descendre avec les fleches pour activer le premier enregistrement
et la ça marche mais si je continue un tours de tabulation j'ai toujours ma
liste box activeet donc j'ai mon msgbox qui s'affiche a chaque fois.

Voyez vous mon probleme?
Merci pour tous et bonne soirée.

Yannick



J'ai peut-être une solution à te proposer.
1. Laisser la touche entrée active.
2. Dans le formulaire créer une procédure évènementielle par ex sur touche
relâchée (On KeyUp)
3.Dans le formulaire mettre la propriété 'Aperçu des touches' (KeyPreview)
sur OUI, ce qui te permettra d'avoir la procédure clavier traitée avant celle
du contrôle lors de l'action sur la touche 'entrée'
La procédure évènementielle doit vérifier qu'il s'agit de la touche 'entrée'
et que ta liste déroulante a le focus pour agir comme tu le souhaites. Sinon
exit sub.
Autre solution:
Utiliser une autre touche ou une combinaison comme 'CTRL-Entrée', le reste
est pareil.
Tout cela, si j'ai bien compris.
pgz


bonjour à tous,
J'avais posé une question le 21/07/05 sur l'effet de la touche entrée sur
les listes box et Eric m'avais bien répondu mais je ne peux pas utiliser
cette solution car dans tous les formulaires je ne peux plus passer de champs
a champs par la touche entrée mais par TAb et ceci est un inconvenient pour
les utilisateurs.

J'avais soulever comme question que s'il on pouvait mettre simplement sur
les listes box sur un evenement (lequel je ne sais pas ) un keycode = la
valeur de la touche entrée que lorsque je passe sur la liste box l'effet de
la touche entrée change au lieu de passer de champs a champs et reste dans
dans la liste et valide la ligne de cette liste box.

J'espère que vous m'avez compris dans mes explications

en attente de toutes solutions je vous souhaite un bon dimanche.

Yannick





Avatar
ze_titi
Sur l'évènement gotFocus de ta liste, ajoute un truc du genre docmd.sendkeys
"{DOWN}"
qui descend une fois dans ta liste. Ainsi, ton problème est résolu

--
Cordialement,

ze_titi



Merci de m'avoir répondu

j' ai mis ceci:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn And Listebox = True Then
MsgBox "j'execute ma procedure"
End If
End Sub
Le probleme que j'ai c'est que lorsque j'arrive sur la listebox, je suis
obliger de descendre avec les fleches pour activer le premier enregistrement
et la ça marche mais si je continue un tours de tabulation j'ai toujours ma
liste box activeet donc j'ai mon msgbox qui s'affiche a chaque fois.

Voyez vous mon probleme?
Merci pour tous et bonne soirée.

Yannick



J'ai peut-être une solution à te proposer.
1. Laisser la touche entrée active.
2. Dans le formulaire créer une procédure évènementielle par ex sur touche
relâchée (On KeyUp)
3.Dans le formulaire mettre la propriété 'Aperçu des touches' (KeyPreview)
sur OUI, ce qui te permettra d'avoir la procédure clavier traitée avant celle
du contrôle lors de l'action sur la touche 'entrée'
La procédure évènementielle doit vérifier qu'il s'agit de la touche 'entrée'
et que ta liste déroulante a le focus pour agir comme tu le souhaites. Sinon
exit sub.
Autre solution:
Utiliser une autre touche ou une combinaison comme 'CTRL-Entrée', le reste
est pareil.
Tout cela, si j'ai bien compris.
pgz


bonjour à tous,
J'avais posé une question le 21/07/05 sur l'effet de la touche entrée sur
les listes box et Eric m'avais bien répondu mais je ne peux pas utiliser
cette solution car dans tous les formulaires je ne peux plus passer de champs
a champs par la touche entrée mais par TAb et ceci est un inconvenient pour
les utilisateurs.

J'avais soulever comme question que s'il on pouvait mettre simplement sur
les listes box sur un evenement (lequel je ne sais pas ) un keycode = la
valeur de la touche entrée que lorsque je passe sur la liste box l'effet de
la touche entrée change au lieu de passer de champs a champs et reste dans
dans la liste et valide la ligne de cette liste box.

J'espère que vous m'avez compris dans mes explications

en attente de toutes solutions je vous souhaite un bon dimanche.

Yannick







Avatar
Eric
Bonjour,

et un truc comme ca en adaptant au nom de ta liste :
(Aperçu des touches à Oui sur le formulaire)

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn And Not IsNull(Liste2) Then
MsgBox "j'execute ma procedure"
Me.Liste2.SetFocus
Me.Liste2.ListIndex = 0
Me.Liste2 = ""
ElseIf (KeyCode <> vbKeyDown And KeyCode <> vbKeyUp) _
Or KeyCode = vbKeyTab Then
Me.Liste2 = ""
End If
End Sub

Private Sub Liste2_GotFocus()
Me.Liste2.ListIndex = 0
End Sub

Merci de m'avoir répondu

j' ai mis ceci:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn And Listebox = True Then
MsgBox "j'execute ma procedure"
End If
End Sub
Le probleme que j'ai c'est que lorsque j'arrive sur la listebox, je suis
obliger de descendre avec les fleches pour activer le premier enregistrement
et la ça marche mais si je continue un tours de tabulation j'ai toujours ma
liste box activeet donc j'ai mon msgbox qui s'affiche a chaque fois.

Voyez vous mon probleme?
Merci pour tous et bonne soirée.

Yannick




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
yannick
Je vous remercie à tous les deux,
je suis entrain de regarder, je n'arrive pas a faire fonctionner comme je le
veux


Bonjour,

et un truc comme ca en adaptant au nom de ta liste :
(Aperçu des touches à Oui sur le formulaire)

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn And Not IsNull(Liste2) Then
MsgBox "j'execute ma procedure"
Me.Liste2.SetFocus
Me.Liste2.ListIndex = 0
Me.Liste2 = ""
ElseIf (KeyCode <> vbKeyDown And KeyCode <> vbKeyUp) _
Or KeyCode = vbKeyTab Then
Me.Liste2 = ""
End If
End Sub

Private Sub Liste2_GotFocus()
Me.Liste2.ListIndex = 0
End Sub

Merci de m'avoir répondu

j' ai mis ceci:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn And Listebox = True Then
MsgBox "j'execute ma procedure"
End If
End Sub
Le probleme que j'ai c'est que lorsque j'arrive sur la listebox, je suis
obliger de descendre avec les fleches pour activer le premier enregistrement
et la ça marche mais si je continue un tours de tabulation j'ai toujours ma
liste box activeet donc j'ai mon msgbox qui s'affiche a chaque fois.

Voyez vous mon probleme?
Merci pour tous et bonne soirée.

Yannick




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
yannick
Rebonsoir est ce que je peux d'envoyer un exemple car je ne sait plus ou aller.

Merci

@+

Yannick



Bonjour,

et un truc comme ca en adaptant au nom de ta liste :
(Aperçu des touches à Oui sur le formulaire)

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn And Not IsNull(Liste2) Then
MsgBox "j'execute ma procedure"
Me.Liste2.SetFocus
Me.Liste2.ListIndex = 0
Me.Liste2 = ""
ElseIf (KeyCode <> vbKeyDown And KeyCode <> vbKeyUp) _
Or KeyCode = vbKeyTab Then
Me.Liste2 = ""
End If
End Sub

Private Sub Liste2_GotFocus()
Me.Liste2.ListIndex = 0
End Sub

Merci de m'avoir répondu

j' ai mis ceci:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn And Listebox = True Then
MsgBox "j'execute ma procedure"
End If
End Sub
Le probleme que j'ai c'est que lorsque j'arrive sur la listebox, je suis
obliger de descendre avec les fleches pour activer le premier enregistrement
et la ça marche mais si je continue un tours de tabulation j'ai toujours ma
liste box activeet donc j'ai mon msgbox qui s'affiche a chaque fois.

Voyez vous mon probleme?
Merci pour tous et bonne soirée.

Yannick




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
Eric
re,

mets ta base(juste ce qui est nécessaire au pb) au format Access2000
zippée sur http://www.cjoint.com/
et postes le lien ici (taille max 250 ko)
Précises exactement ce que tu veux faire et j'essaierai de répondre à
ton problème (sans garantie ;-) )

Rebonsoir est ce que je peux d'envoyer un exemple car je ne sait plus ou aller.

Merci

@+

Yannick



--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
yannick
Excuse ca y est j'ai reussi, heu je pense
Dans Me.Liste2 = "" je l'ai mis isnull et ça a l'air de fonctionner
' If KeyCode = vbKeyReturn And Not IsNull(Liste2) Then
' MsgBox "j'execute ma procedure"
' Me.Liste2.SetFocus
' Me.Liste2.ListIndex = 0
' Me.Liste2 = ""
' ElseIf (KeyCode <> vbKeyDown And KeyCode <> vbKeyUp) _
' Or KeyCode = vbKeyTab Then
' Me.Liste2 = ""
' End If
Je te remercie pour tout, je voudrais savoir comment faisons nous pour les
listes deroulantes pour afficher le contenu seulement avec le clavier puis
defiler ca doit etre les fleches puis valider par tab ou entrée.

Aurais tu une soluce car je vois que tu connais bien les bidouilles du
clavier?

Merci pour tous.

Yannick


re,

mets ta base(juste ce qui est nécessaire au pb) au format Access2000
zippée sur http://www.cjoint.com/
et postes le lien ici (taille max 250 ko)
Précises exactement ce que tu veux faire et j'essaierai de répondre à
ton problème (sans garantie ;-) )

Rebonsoir est ce que je peux d'envoyer un exemple car je ne sait plus ou aller.

Merci

@+

Yannick



--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
Eric
re,

Pour afficher le contenu d'une ComboBox (liste déroulante ou encore zone
de liste modifiable) avec le clavier, se positionner sur la combo et
faire ALT+Fleche Bas.
Ceci est facilement programmable avec SendKeys ;-)

Private Sub Modifiable8_GotFocus()
SendKeys "%{DOWN}"
End Sub

Excuse ca y est j'ai reussi, heu je pense
Dans Me.Liste2 = "" je l'ai mis isnull et ça a l'air de fonctionner
' If KeyCode = vbKeyReturn And Not IsNull(Liste2) Then
' MsgBox "j'execute ma procedure"
' Me.Liste2.SetFocus
' Me.Liste2.ListIndex = 0
' Me.Liste2 = ""
' ElseIf (KeyCode <> vbKeyDown And KeyCode <> vbKeyUp) _
' Or KeyCode = vbKeyTab Then
' Me.Liste2 = ""
' End If
Je te remercie pour tout, je voudrais savoir comment faisons nous pour les
listes deroulantes pour afficher le contenu seulement avec le clavier puis
defiler ca doit etre les fleches puis valider par tab ou entrée.

Aurais tu une soluce car je vois que tu connais bien les bidouilles du
clavier?

Merci pour tous.

Yannick



re,

mets ta base(juste ce qui est nécessaire au pb) au format Access2000
zippée sur http://www.cjoint.com/
et postes le lien ici (taille max 250 ko)
Précises exactement ce que tu veux faire et j'essaierai de répondre à
ton problème (sans garantie ;-) )


Rebonsoir est ce que je peux d'envoyer un exemple car je ne sait plus ou aller.

Merci

@+

Yannick



--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Avatar
yannick
Respect, cela fonctionne du tonnerre, je voudrais savoir ce que veut dire
SendKeys "%{DOWN}"

@+
Yannick


re,

Pour afficher le contenu d'une ComboBox (liste déroulante ou encore zone
de liste modifiable) avec le clavier, se positionner sur la combo et
faire ALT+Fleche Bas.
Ceci est facilement programmable avec SendKeys ;-)

Private Sub Modifiable8_GotFocus()
SendKeys "%{DOWN}"
End Sub

Excuse ca y est j'ai reussi, heu je pense
Dans Me.Liste2 = "" je l'ai mis isnull et ça a l'air de fonctionner
' If KeyCode = vbKeyReturn And Not IsNull(Liste2) Then
' MsgBox "j'execute ma procedure"
' Me.Liste2.SetFocus
' Me.Liste2.ListIndex = 0
' Me.Liste2 = ""
' ElseIf (KeyCode <> vbKeyDown And KeyCode <> vbKeyUp) _
' Or KeyCode = vbKeyTab Then
' Me.Liste2 = ""
' End If
Je te remercie pour tout, je voudrais savoir comment faisons nous pour les
listes deroulantes pour afficher le contenu seulement avec le clavier puis
defiler ca doit etre les fleches puis valider par tab ou entrée.

Aurais tu une soluce car je vois que tu connais bien les bidouilles du
clavier?

Merci pour tous.

Yannick



re,

mets ta base(juste ce qui est nécessaire au pb) au format Access2000
zippée sur http://www.cjoint.com/
et postes le lien ici (taille max 250 ko)
Précises exactement ce que tu veux faire et j'essaierai de répondre à
ton problème (sans garantie ;-) )


Rebonsoir est ce que je peux d'envoyer un exemple car je ne sait plus ou aller.

Merci

@+

Yannick



--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






1 2