bien le bonjour,
sur une Form, j'ai un groupe de 10 contrôles bouton cmdChiffre(1) ....(10)
chaque fois que ce bouton est "cliqué", il s'illumine pour le visuel de
l'utilisateur
je cherche à pouvoir me déplacer parmis ces boutons, au moyen des touches
vbkeyadd
et vbkeysubtract (touche moins et plus)
ceci dans la sub >> Private Sub Form_KeyDown(KeyCode As Integer, Shift
As Integer) <<
Le problème est que je ne sais comment récupérer l'index puisque je ne suis
pas forcement dessus
Je crois que je m'emmêle un peu les pinceaux!
merci comme à chaque fois de vos idées
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jean-marc
"Pascal" wrote in message news:
bien le bonjour, sur une Form, j'ai un groupe de 10 contrôles bouton cmdChiffre(1) ....(10) chaque fois que ce bouton est "cliqué", il s'illumine pour le visuel de l'utilisateur
je cherche à pouvoir me déplacer parmis ces boutons, au moyen des touches vbkeyadd et vbkeysubtract (touche moins et plus) ceci dans la sub >> Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) <<
Le problème est que je ne sais comment récupérer l'index puisque je ne suis pas forcement dessus Je crois que je m'emmêle un peu les pinceaux! merci comme à chaque fois de vos idées
Pascal
Hello,
C'est tout simple :-)
Il faut que ta forme est la propriété keyPreview à TRUE. Puis il te faut une variable globale pour garder l'index du dernier bouton qui a eu le focus, soit par action sur les touches +/-, soitpar clic.
Puis ce code tout simple suffit. Dans mon exemple, les boutons indexés s'appellent Command1.
' variable globale à la forme Dim cur_cmd_index As Integer
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If (KeyCode = vbKeyAdd) Or (KeyCode = vbKeySubtract) Then If KeyCode = vbKeyAdd Then cur_cmd_index = cur_cmd_index + 1 If cur_cmd_index > 10 Then cur_cmd_index = 1 End If ElseIf KeyCode = vbKeySubtract Then cur_cmd_index = cur_cmd_index - 1 If cur_cmd_index = 0 Then cur_cmd_index = 10 End If End If Command1(cur_cmd_index).SetFocus End If End Sub
Private Sub Command1_Click(Index As Integer) cur_cmd_index = Index End Sub
' juste pour initialiser la variable globale. Private Sub Form_Load()
"Pascal" <inconnu@hotmail.com> wrote in message
news:ecj0H35GIHA.3548@TK2MSFTNGP06.phx.gbl...
bien le bonjour,
sur une Form, j'ai un groupe de 10 contrôles bouton cmdChiffre(1)
....(10)
chaque fois que ce bouton est "cliqué", il s'illumine pour le visuel de
l'utilisateur
je cherche à pouvoir me déplacer parmis ces boutons, au moyen des touches
vbkeyadd
et vbkeysubtract (touche moins et plus)
ceci dans la sub >> Private Sub Form_KeyDown(KeyCode As Integer, Shift
As Integer) <<
Le problème est que je ne sais comment récupérer l'index puisque je ne
suis pas forcement dessus
Je crois que je m'emmêle un peu les pinceaux!
merci comme à chaque fois de vos idées
Pascal
Hello,
C'est tout simple :-)
Il faut que ta forme est la propriété keyPreview à TRUE.
Puis il te faut une variable globale pour garder l'index
du dernier bouton qui a eu le focus, soit par action sur
les touches +/-, soitpar clic.
Puis ce code tout simple suffit.
Dans mon exemple, les boutons indexés s'appellent Command1.
' variable globale à la forme
Dim cur_cmd_index As Integer
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If (KeyCode = vbKeyAdd) Or (KeyCode = vbKeySubtract) Then
If KeyCode = vbKeyAdd Then
cur_cmd_index = cur_cmd_index + 1
If cur_cmd_index > 10 Then
cur_cmd_index = 1
End If
ElseIf KeyCode = vbKeySubtract Then
cur_cmd_index = cur_cmd_index - 1
If cur_cmd_index = 0 Then
cur_cmd_index = 10
End If
End If
Command1(cur_cmd_index).SetFocus
End If
End Sub
Private Sub Command1_Click(Index As Integer)
cur_cmd_index = Index
End Sub
' juste pour initialiser la variable globale.
Private Sub Form_Load()
bien le bonjour, sur une Form, j'ai un groupe de 10 contrôles bouton cmdChiffre(1) ....(10) chaque fois que ce bouton est "cliqué", il s'illumine pour le visuel de l'utilisateur
je cherche à pouvoir me déplacer parmis ces boutons, au moyen des touches vbkeyadd et vbkeysubtract (touche moins et plus) ceci dans la sub >> Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) <<
Le problème est que je ne sais comment récupérer l'index puisque je ne suis pas forcement dessus Je crois que je m'emmêle un peu les pinceaux! merci comme à chaque fois de vos idées
Pascal
Hello,
C'est tout simple :-)
Il faut que ta forme est la propriété keyPreview à TRUE. Puis il te faut une variable globale pour garder l'index du dernier bouton qui a eu le focus, soit par action sur les touches +/-, soitpar clic.
Puis ce code tout simple suffit. Dans mon exemple, les boutons indexés s'appellent Command1.
' variable globale à la forme Dim cur_cmd_index As Integer
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If (KeyCode = vbKeyAdd) Or (KeyCode = vbKeySubtract) Then If KeyCode = vbKeyAdd Then cur_cmd_index = cur_cmd_index + 1 If cur_cmd_index > 10 Then cur_cmd_index = 1 End If ElseIf KeyCode = vbKeySubtract Then cur_cmd_index = cur_cmd_index - 1 If cur_cmd_index = 0 Then cur_cmd_index = 10 End If End If Command1(cur_cmd_index).SetFocus End If End Sub
Private Sub Command1_Click(Index As Integer) cur_cmd_index = Index End Sub
' juste pour initialiser la variable globale. Private Sub Form_Load()
hello jean-Marc, Encore une fois ....toi et t'en remercie Effectivement d'une simplicité déconcertante (l'utilisation de la variable) j'aurai pû y penser mais bon!
Merci encore pour ton aide plus que précieuse
Pascal
"jean-marc" a écrit dans le message de news: 47285197$0$22305$
"Pascal" wrote in message news:
bien le bonjour, sur une Form, j'ai un groupe de 10 contrôles bouton cmdChiffre(1) ....(10) chaque fois que ce bouton est "cliqué", il s'illumine pour le visuel de l'utilisateur
je cherche à pouvoir me déplacer parmis ces boutons, au moyen des touches vbkeyadd et vbkeysubtract (touche moins et plus) ceci dans la sub >> Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) <<
Le problème est que je ne sais comment récupérer l'index puisque je ne suis pas forcement dessus Je crois que je m'emmêle un peu les pinceaux! merci comme à chaque fois de vos idées
Pascal
Hello,
C'est tout simple :-)
Il faut que ta forme est la propriété keyPreview à TRUE. Puis il te faut une variable globale pour garder l'index du dernier bouton qui a eu le focus, soit par action sur les touches +/-, soitpar clic.
Puis ce code tout simple suffit. Dans mon exemple, les boutons indexés s'appellent Command1.
' variable globale à la forme Dim cur_cmd_index As Integer
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If (KeyCode = vbKeyAdd) Or (KeyCode = vbKeySubtract) Then If KeyCode = vbKeyAdd Then cur_cmd_index = cur_cmd_index + 1 If cur_cmd_index > 10 Then cur_cmd_index = 1 End If ElseIf KeyCode = vbKeySubtract Then cur_cmd_index = cur_cmd_index - 1 If cur_cmd_index = 0 Then cur_cmd_index = 10 End If End If Command1(cur_cmd_index).SetFocus End If End Sub
Private Sub Command1_Click(Index As Integer) cur_cmd_index = Index End Sub
' juste pour initialiser la variable globale. Private Sub Form_Load()
hello jean-Marc,
Encore une fois ....toi et t'en remercie
Effectivement d'une simplicité déconcertante (l'utilisation de la variable)
j'aurai pû y penser mais bon!
Merci encore pour ton aide plus que précieuse
Pascal
"jean-marc" <jean_marc_n2@yahoo.fr.invalid> a écrit dans le message de news:
47285197$0$22305$ba620e4c@news.skynet.be...
"Pascal" <inconnu@hotmail.com> wrote in message
news:ecj0H35GIHA.3548@TK2MSFTNGP06.phx.gbl...
bien le bonjour,
sur une Form, j'ai un groupe de 10 contrôles bouton cmdChiffre(1)
....(10)
chaque fois que ce bouton est "cliqué", il s'illumine pour le visuel de
l'utilisateur
je cherche à pouvoir me déplacer parmis ces boutons, au moyen des
touches vbkeyadd
et vbkeysubtract (touche moins et plus)
ceci dans la sub >> Private Sub Form_KeyDown(KeyCode As Integer,
Shift As Integer) <<
Le problème est que je ne sais comment récupérer l'index puisque je ne
suis pas forcement dessus
Je crois que je m'emmêle un peu les pinceaux!
merci comme à chaque fois de vos idées
Pascal
Hello,
C'est tout simple :-)
Il faut que ta forme est la propriété keyPreview à TRUE.
Puis il te faut une variable globale pour garder l'index
du dernier bouton qui a eu le focus, soit par action sur
les touches +/-, soitpar clic.
Puis ce code tout simple suffit.
Dans mon exemple, les boutons indexés s'appellent Command1.
' variable globale à la forme
Dim cur_cmd_index As Integer
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If (KeyCode = vbKeyAdd) Or (KeyCode = vbKeySubtract) Then
If KeyCode = vbKeyAdd Then
cur_cmd_index = cur_cmd_index + 1
If cur_cmd_index > 10 Then
cur_cmd_index = 1
End If
ElseIf KeyCode = vbKeySubtract Then
cur_cmd_index = cur_cmd_index - 1
If cur_cmd_index = 0 Then
cur_cmd_index = 10
End If
End If
Command1(cur_cmd_index).SetFocus
End If
End Sub
Private Sub Command1_Click(Index As Integer)
cur_cmd_index = Index
End Sub
' juste pour initialiser la variable globale.
Private Sub Form_Load()
hello jean-Marc, Encore une fois ....toi et t'en remercie Effectivement d'une simplicité déconcertante (l'utilisation de la variable) j'aurai pû y penser mais bon!
Merci encore pour ton aide plus que précieuse
Pascal
"jean-marc" a écrit dans le message de news: 47285197$0$22305$
"Pascal" wrote in message news:
bien le bonjour, sur une Form, j'ai un groupe de 10 contrôles bouton cmdChiffre(1) ....(10) chaque fois que ce bouton est "cliqué", il s'illumine pour le visuel de l'utilisateur
je cherche à pouvoir me déplacer parmis ces boutons, au moyen des touches vbkeyadd et vbkeysubtract (touche moins et plus) ceci dans la sub >> Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) <<
Le problème est que je ne sais comment récupérer l'index puisque je ne suis pas forcement dessus Je crois que je m'emmêle un peu les pinceaux! merci comme à chaque fois de vos idées
Pascal
Hello,
C'est tout simple :-)
Il faut que ta forme est la propriété keyPreview à TRUE. Puis il te faut une variable globale pour garder l'index du dernier bouton qui a eu le focus, soit par action sur les touches +/-, soitpar clic.
Puis ce code tout simple suffit. Dans mon exemple, les boutons indexés s'appellent Command1.
' variable globale à la forme Dim cur_cmd_index As Integer
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If (KeyCode = vbKeyAdd) Or (KeyCode = vbKeySubtract) Then If KeyCode = vbKeyAdd Then cur_cmd_index = cur_cmd_index + 1 If cur_cmd_index > 10 Then cur_cmd_index = 1 End If ElseIf KeyCode = vbKeySubtract Then cur_cmd_index = cur_cmd_index - 1 If cur_cmd_index = 0 Then cur_cmd_index = 10 End If End If Command1(cur_cmd_index).SetFocus End If End Sub
Private Sub Command1_Click(Index As Integer) cur_cmd_index = Index End Sub
' juste pour initialiser la variable globale. Private Sub Form_Load()
hello jean-Marc, Encore une fois ....toi et t'en remercie Effectivement d'une simplicité déconcertante (l'utilisation de la variable) j'aurai pû y penser mais bon!
Merci encore pour ton aide plus que précieuse
Pascal
Merci à toi pour le retour, ça fait toujours plaisir!
"Pascal" <inconnu@hotmail.com> wrote in message
news:O9Toqh6GIHA.2064@TK2MSFTNGP06.phx.gbl...
hello jean-Marc,
Encore une fois ....toi et t'en remercie
Effectivement d'une simplicité déconcertante (l'utilisation de la
variable)
j'aurai pû y penser mais bon!
Merci encore pour ton aide plus que précieuse
Pascal
Merci à toi pour le retour, ça fait toujours plaisir!
hello jean-Marc, Encore une fois ....toi et t'en remercie Effectivement d'une simplicité déconcertante (l'utilisation de la variable) j'aurai pû y penser mais bon!
Merci encore pour ton aide plus que précieuse
Pascal
Merci à toi pour le retour, ça fait toujours plaisir!