Raccourci clavier listbox [Résolu]

Signaler
Messages postés
181
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
9 avril 2010
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Bonjour,

J'aimerais savoir comment faire pour que lorsque l'utilisateur appui sur la touche "A" par exemple ; que le programme clic sur la première ligne d'une listbox ?

Merci bcp :)

123

9 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bref,

Tu es la parfaite démonstration de la manière de faire perdre du temps en ne posant pas la question correctement d'emblée !!!

Que viens faire là-dedans l'emploi d'une touche, puisque tu veux le faire par code ???

Essaye

Private Sub Command1_Click()
  List1.Selected(2) = True
End Sub

où 2 est le 3ème item (si tu veux le 1er, mets 0)..
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
fonctionnement étrange...

voir evenement KeyDown ...
de ta Form (mettre KeyPreview à true)
ou de ta listbox (si elle a le focus)
Messages postés
14769
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
13 février 2021
151
Bonjour

Si la Listbox appartien à ton app :
utilises l'event KeyPress des controles
Puis la propriété Selected(?) de la Listbox.

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
13
Salut,

Regarde ce petit bout de code de Jmfmarques :

Private Sub Form_Activate()
Me.KeyPreview = True
End Sub




Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
controle_touche "A", KeyCode ' c'est ici que l'on décide de la touche réactive (ici A ou a)
End Sub




Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
touche1 = False
End Sub


Private Sub controle_touche(T1, KC)


' By Jmfmarques


   If touche1 And touche2 Then
      touche1 = False
   End If
      If UCase(Chr(KC)) T1 Then touche1 True
   If touche1 Then
      ' ici action à effectuer
      MsgBox "totoé"
   End If
  
End Sub


A+
Exploreur

 Linux a un noyau, Windows un pépin
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
13
oups..petite réctification :

Private Sub controle_touche(T1, KC)


' By Jmfmarques


   If touche1 Then
      touche1 = False
   End If
      If UCase(Chr(KC)) T1 Then touche1 True
   If touche1 Then
      ' ici action à effectuer
      MsgBox "totoé"
   End If
  
End Sub


A+
Exploreur

 Linux a un noyau, Windows un pépin
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour tout le monde,

Il n'est pas vraiment très prudent d'associer une touche/lettre à cette opération...
sauf si cette association n'est à rendre opérationnelle que lorsque la listbox en question a le focus.
Mais alors (si elle a le focus) : pourquoi faire une touche de raccourci alors qu'elle existe déjà (la touche "Début" représentée par une flèche diagonale haute au dessus de la touche Insert... à gauche donc de la touche Fin !!!)... .???

Comprends pas la philosophie de l'ergonomie recherchée, là...
Messages postés
181
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
9 avril 2010

en fait j'aimerais automatiser une tache que je fais à la main qui es de cliquer sur le premier element d'une listbox :) je sais comment faire pour detecter la pression d'une touche mais pas pour cliquer sur la premiere ligne d'une listbox :s

donc voilà ;)

123
Messages postés
181
Date d'inscription
vendredi 3 janvier 2003
Statut
Membre
Dernière intervention
9 avril 2010

Désolé j'essaye de faire de efforts mais bon :( en tout cas merci jmfmarques

123
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
ou List1.ListIndex = 0
...

en tous cas... oui...
dommage d'y avoir inutilement mentionné la pression d'une touche du clavier