OVH Cloud OVH Cloud

Interrogation sur - vbKeySeparator -

5 réponses
Avatar
cphil
Bonsoir à tous,

Je suis débutant+ ( si je peux me permettre ) avec VBA
Exel Office Xp, pour me familiariser avec - KeyCode - j'ai fait le test
suivant avec - vbKeySeparator - constante de " Entr " du pavé
numérique:

Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)

If KeyCode = vbKeySepartor
MsgBox "Bravo!"
End If

End Sub

1) Pourquoi lorsque je tape vbKeySeparator
VBA enregistre le caractère " S " en minuscule
c'est-à-dire qu'il enregistre ceci vbKeyseparator ?

2) Apparement cette constante est inactive car en remplaçant
vbKeySeparator par sa valeur numérique ( = 108 ) la MsgBox
ne s'affiche pas, pourquoi ?

Merci de m'aider à comprendre.

A+
-cphil-

5 réponses

Avatar
michdenis
Bonjour cphil,

Utilises ceci et cela va fonctionner :

'------------------
If KeyCode = Asc(Chr(KeyCode)) Then
MsgBox "Bravo!"
End If
'------------------


Salutations!


"cphil" <cazenave.(suffitspam) a écrit dans le message de news:%
Bonsoir à tous,

Je suis débutant+ ( si je peux me permettre ) avec VBA
Exel Office Xp, pour me familiariser avec - KeyCode - j'ai fait le test
suivant avec - vbKeySeparator - constante de " Entr " du pavé
numérique:

Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)

If KeyCode = vbKeySepartor
MsgBox "Bravo!"
End If

End Sub

1) Pourquoi lorsque je tape vbKeySeparator
VBA enregistre le caractère " S " en minuscule
c'est-à-dire qu'il enregistre ceci vbKeyseparator ?

2) Apparement cette constante est inactive car en remplaçant
vbKeySeparator par sa valeur numérique ( = 108 ) la MsgBox
ne s'affiche pas, pourquoi ?

Merci de m'aider à comprendre.

A+
-cphil-
Avatar
michdenis
J'allais oublié,

ceci est plus simple :
'----------------
If KeyCode = 13 Then
MsgBox "Bravo!"
End If
'-----------------


Salutations!




"cphil" <cazenave.(suffitspam) a écrit dans le message de news:%
Bonsoir à tous,

Je suis débutant+ ( si je peux me permettre ) avec VBA
Exel Office Xp, pour me familiariser avec - KeyCode - j'ai fait le test
suivant avec - vbKeySeparator - constante de " Entr " du pavé
numérique:

Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)

If KeyCode = vbKeySepartor
MsgBox "Bravo!"
End If

End Sub

1) Pourquoi lorsque je tape vbKeySeparator
VBA enregistre le caractère " S " en minuscule
c'est-à-dire qu'il enregistre ceci vbKeyseparator ?

2) Apparement cette constante est inactive car en remplaçant
vbKeySeparator par sa valeur numérique ( = 108 ) la MsgBox
ne s'affiche pas, pourquoi ?

Merci de m'aider à comprendre.

A+
-cphil-
Avatar
Frédéric Sigonneau
Bonsoir,

La prise en charge de cette constante pour cette touche du pavé numérique n'a
pas l'air correctement assurée en effet.
Cependant, si tu utilises vbKeyReturn à la place de vbKeySeparator, (et en
rajoutant le mot clé Then juste après), ton message va s'afficher après un appui
sur la touche Entrée 'normale' comme sur celle du pavé numérique.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonsoir à tous,

Je suis débutant+ ( si je peux me permettre ) avec VBA
Exel Office Xp, pour me familiariser avec - KeyCode - j'ai fait le test
suivant avec - vbKeySeparator - constante de " Entr " du pavé
numérique:

Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)

If KeyCode = vbKeySepartor
MsgBox "Bravo!"
End If

End Sub

1) Pourquoi lorsque je tape vbKeySeparator
VBA enregistre le caractère " S " en minuscule
c'est-à-dire qu'il enregistre ceci vbKeyseparator ?

2) Apparement cette constante est inactive car en remplaçant
vbKeySeparator par sa valeur numérique ( = 108 ) la MsgBox
ne s'affiche pas, pourquoi ?

Merci de m'aider à comprendre.

A+
-cphil-


Avatar
cphil
Bonsoir,

Merci pour vos réponses.
Je voulais simplement utiliser uniquement vbKeySeprator
au lieu de vbKeyReturn.
Vu la réponse de Frédéric il semble que vbKeySeparator bugue.

Avec:
If KeyCode = Asc(Chr(KeyCode)) Then
MsgBox " valeur numérique de la touche"
End If
Est-c que l'on peut afficher la valeur numérique de la touche
la de Bravo?.... et de quelle façon?

Merci,A+.

-cphil-

"Frédéric Sigonneau" a écrit dans le message
de news:
Bonsoir,

La prise en charge de cette constante pour cette touche du pavé numérique
n'a

pas l'air correctement assurée en effet.
Cependant, si tu utilises vbKeyReturn à la place de vbKeySeparator, (et en
rajoutant le mot clé Then juste après), ton message va s'afficher après un
appui

sur la touche Entrée 'normale' comme sur celle du pavé numérique.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonsoir à tous,

Je suis débutant+ ( si je peux me permettre ) avec VBA
Exel Office Xp, pour me familiariser avec - KeyCode - j'ai fait le test
suivant avec - vbKeySeparator - constante de " Entr " du pavé
numérique:

Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal


Shift As Integer)

If KeyCode = vbKeySepartor
MsgBox "Bravo!"
End If

End Sub

1) Pourquoi lorsque je tape vbKeySeparator
VBA enregistre le caractère " S " en minuscule
c'est-à-dire qu'il enregistre ceci vbKeyseparator ?

2) Apparement cette constante est inactive car en remplaçant
vbKeySeparator par sa valeur numérique ( = 108 ) la MsgBox
ne s'affiche pas, pourquoi ?

Merci de m'aider à comprendre.

A+
-cphil-





Avatar
cphil
Bonsoir,

Eureka

--
-cphil-
"cphil" <cazenave.(suffitspam) a écrit >
Merci pour vos réponses.
Je voulais simplement utiliser uniquement vbKeySeprator
au lieu de vbKeyReturn.
Vu la réponse de Frédéric il semble que vbKeySeparator bugue.

Avec:
If KeyCode = Asc(Chr(KeyCode)) Then
MsgBox " valeur numérique de la touche"
End If
Est-c que l'on peut afficher la valeur numérique de la touche
à la place de Bravo?
- oui

.... et de quelle façon?
MsgBox "" & Asc(Chr(KeyCode)) & chain


Merci quand même, bonne nuit..

-cphil-