Validation/touche entrer

L

lezabour

Guest
Salut a tous,

Sur ma feuille excel, j'ai un textbox, ainsi qu'un bouton.
L'utilisateur doit saisire le textbox, puis clicker a l'aide de la souris sur le bouton, pour ouvrir un userform.

J'aimerai qu'il n'ait pas besoin d'utiliser la souris, mais que la touche "entrer" declenche l'evenement, evidemment, uniquement quand il est dans la textbox.
j'ai essayer le le keypress avec un test sur le chr(13), mais cela ne donne rien, il semblerait qu'il ne reconnais pas le entrer...

Bref, une petite question tout bete

merci
 
@

@+Thierry

Guest
Bonjour Lezabour, le Forum

Effectivenment, le KeyPress ne capte pas la touche entrée :
A KeyPress event does not occur under the following conditions:
   ¤Pressing TAB.
   ¤Pressing ENTER.
   ¤Pressing an arrow key.

Sur un userform, j'aurais mis un CommandButton paramétré Default = True, mais sur des OLEObjects sur Feuille, cette propriété n'existe pas...

J'ai bien peur qu'il va te falloir bidouiller... Style une condition sur le Len de la string saisie en TextBox (Change Event) ou encore essayer de capter une autre clef du clavier... Ou encore le "LostFocus"...


Bon Courage
@+Thierry
 
J

jmps

Guest
Bonjour lezabour, Re Thierry (décidément !),

En affectant une touche de raccourci à ton bouton (Accelerator) , cela permet de ne pas faire appel à la souris ni de rajouter du code à ta macro. Seul inconvénient : le raccourci fonctionnera même en dehors de la textbox.

Si ça peut t'aider...

A+

José
 
A

Abel

Guest
Bonjour lezabour, Thierry, José,

Le texbox doit-il obligatoirement être dans la feuille ?

Peut être la macro pourrait-elle commencer par un InputBox ?
Cet InputBox permet de répondre à la validation soit par le "clic" soit par "Entrée".

Cela change sans doute la philosophie de ton classeur mais c'est peut être une approche à regarder. Ca ou carrément un UserForm qui nécessitera plus de modifications.

A suivre ...

Abel.
 
L

lezabour

Guest
mon probleme est que c'est pour une saisie comptable.. donc bcp de chiffre (donc pratiquement que le pavé numerique)
Les comptables ont deja leur habitudes, et je les comprends, c'est sur qu'appuyer sur entrer pour declencher serai l'ideal...
Le in,put box ne peut malheureusement pas convenir a mes besoins...
Pour le accelerator, j'ai tester, mais ca pause un reel probleme car cela se declenche aussi en dehors de mon textbox...

j'ecoute toutes vos suggestions

merci a tous ;)
 
J

jmps

Guest
Re à tous,

Voici qui devrait mieux te convenir :

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode = 13 Then MsgBox ("Touche entrée utilisée.")
End Sub


Bien entendu tu remplaces le MsgBox par ta macro.

Bonne fin de journée.

José
 
@

@+Thierry

Guest
Bonsoir à Tous

Alors là
smiley_409.gif


Bien José !!!
smiles_33.gif


smiley_118.gif
Bravo
smiley_118.gif

Alors la prochaine c'est moi qui te paie une bière
smiles_63.gif
et même deux ou trois !
smiley_233.gif
!! lol

Ca mérite une ovation
smiley_797.gif


Bonne Soirée à toi et Bien à vous !
@+Thierry
 
J

jmps

Guest
Bonsoir à tous,

Heu.... Thierry.... Je suis tout rouge là ! Merci pour ces compliments en images qui bougent... Et à la tienne et au Faux rhum sans qui je ne serais encore qu'un newbie !

Bonne soirée.

José
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 893
Membres
103 982
dernier inscrit
krakencolas