Bonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de taper 2
fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai besoin de
taper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
Bonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de taper 2
fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai besoin de
taper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
Bonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de taper 2
fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai besoin de
taper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
Bonjour Alain,
Si ton UserForm ne comporte que le TextBox et un bouton OK, le premier
clic sur la touche entrée après avoir renseigné le TextBox donne le focus
au bouton OK, et un second clic sur la touche Entrée est alors nécessaire.
Une procédure utilisant OnKey pourrait résoudre le problème, mais il
faut gérer le fait que la touche Retour, la Touche entrée et la touche
Entrée du pavé numérique sont 3 touches différentes.
Je te propose une variante simple qui permet de valider en appuyant
une seule fois sur la touche Entrée, ou sur la touche Tabulation :
Par hypothèse, le TextBox s'appelle "TextBox1", et le bouton OK, "BOK".
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End SubBonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de
taper 2
fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai besoin
de
taper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Bonjour Alain,
Si ton UserForm ne comporte que le TextBox et un bouton OK, le premier
clic sur la touche entrée après avoir renseigné le TextBox donne le focus
au bouton OK, et un second clic sur la touche Entrée est alors nécessaire.
Une procédure utilisant OnKey pourrait résoudre le problème, mais il
faut gérer le fait que la touche Retour, la Touche entrée et la touche
Entrée du pavé numérique sont 3 touches différentes.
Je te propose une variante simple qui permet de valider en appuyant
une seule fois sur la touche Entrée, ou sur la touche Tabulation :
Par hypothèse, le TextBox s'appelle "TextBox1", et le bouton OK, "BOK".
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End Sub
Bonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de
taper 2
fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai besoin
de
taper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Bonjour Alain,
Si ton UserForm ne comporte que le TextBox et un bouton OK, le premier
clic sur la touche entrée après avoir renseigné le TextBox donne le focus
au bouton OK, et un second clic sur la touche Entrée est alors nécessaire.
Une procédure utilisant OnKey pourrait résoudre le problème, mais il
faut gérer le fait que la touche Retour, la Touche entrée et la touche
Entrée du pavé numérique sont 3 touches différentes.
Je te propose une variante simple qui permet de valider en appuyant
une seule fois sur la touche Entrée, ou sur la touche Tabulation :
Par hypothèse, le TextBox s'appelle "TextBox1", et le bouton OK, "BOK".
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End SubBonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de
taper 2
fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai besoin
de
taper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Merci beaucoup Michel, cela fonctionne parfaitement, mais, j'ai un petit
soucis, après validation, le focus ne revient pas dans le textbox.
Même avec SetFocus.
Alain
"Michel Gaboly" a écrit dans le message de
news:Bonjour Alain,
Si ton UserForm ne comporte que le TextBox et un bouton OK, le premier
clic sur la touche entrée après avoir renseigné le TextBox donne le focus
au bouton OK, et un second clic sur la touche Entrée est alors nécessaire.
Une procédure utilisant OnKey pourrait résoudre le problème, mais il
faut gérer le fait que la touche Retour, la Touche entrée et la touche
Entrée du pavé numérique sont 3 touches différentes.
Je te propose une variante simple qui permet de valider en appuyant
une seule fois sur la touche Entrée, ou sur la touche Tabulation :
Par hypothèse, le TextBox s'appelle "TextBox1", et le bouton OK, "BOK".
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End SubBonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de
taper 2fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai besoin
detaper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Merci beaucoup Michel, cela fonctionne parfaitement, mais, j'ai un petit
soucis, après validation, le focus ne revient pas dans le textbox.
Même avec SetFocus.
Alain
"Michel Gaboly" <michel@Suppgaboly.com> a écrit dans le message de
news:411652AE.84518391@Suppgaboly.com...
Bonjour Alain,
Si ton UserForm ne comporte que le TextBox et un bouton OK, le premier
clic sur la touche entrée après avoir renseigné le TextBox donne le focus
au bouton OK, et un second clic sur la touche Entrée est alors nécessaire.
Une procédure utilisant OnKey pourrait résoudre le problème, mais il
faut gérer le fait que la touche Retour, la Touche entrée et la touche
Entrée du pavé numérique sont 3 touches différentes.
Je te propose une variante simple qui permet de valider en appuyant
une seule fois sur la touche Entrée, ou sur la touche Tabulation :
Par hypothèse, le TextBox s'appelle "TextBox1", et le bouton OK, "BOK".
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End Sub
Bonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de
taper 2
fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai besoin
de
taper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Merci beaucoup Michel, cela fonctionne parfaitement, mais, j'ai un petit
soucis, après validation, le focus ne revient pas dans le textbox.
Même avec SetFocus.
Alain
"Michel Gaboly" a écrit dans le message de
news:Bonjour Alain,
Si ton UserForm ne comporte que le TextBox et un bouton OK, le premier
clic sur la touche entrée après avoir renseigné le TextBox donne le focus
au bouton OK, et un second clic sur la touche Entrée est alors nécessaire.
Une procédure utilisant OnKey pourrait résoudre le problème, mais il
faut gérer le fait que la touche Retour, la Touche entrée et la touche
Entrée du pavé numérique sont 3 touches différentes.
Je te propose une variante simple qui permet de valider en appuyant
une seule fois sur la touche Entrée, ou sur la touche Tabulation :
Par hypothèse, le TextBox s'appelle "TextBox1", et le bouton OK, "BOK".
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End SubBonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de
taper 2fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai besoin
detaper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Re,
De rien ;-))
Mais pourquoi le focus devrai-il revenir sur le TextBox ? Je pensais que
le bouton OK après un traitement quelconque se terminait par un Unload du
UserForm.
S'il s'agit de renseigner plusieurs infos de même nature à la suite, je
sup-
pose qu'il faut également effacer le contenu du TextBox pour saisir l'info
suivante.
Voici une variante (DSaisie est le nom du UserForm) :
Dans un module standard :
Option Explicit
Public Suite As Boolean
Sub Saisie()
Suite = True
Do While Suite
DSaisie.Show
Loop
End Sub
Dans le module de DSaisie (BAnnuler est le nom du bouton Annuler)
Option Explicit
Private Sub BAnnuler_Click()
Suite = False
Unload Me
End Sub
Private Sub BOK_Click()
ReportDonnees
Unload Me
End Sub
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End Sub
Private Sub ReportDonnees()
' Ici, ton traitement.
End Sub
Bien évuidemment, l'ensemble suppose que TextBox1 a pour Valeur
une chaine vide ("") lorsque DSaisie s'affiche.Merci beaucoup Michel, cela fonctionne parfaitement, mais, j'ai un petit
soucis, après validation, le focus ne revient pas dans le textbox.
Même avec SetFocus.
Alain
"Michel Gaboly" a écrit dans le message de
news:Bonjour Alain,
Si ton UserForm ne comporte que le TextBox et un bouton OK, le premier
clic sur la touche entrée après avoir renseigné le TextBox donne le
focus
au bouton OK, et un second clic sur la touche Entrée est alors
nécessaire.
Une procédure utilisant OnKey pourrait résoudre le problème, mais il
faut gérer le fait que la touche Retour, la Touche entrée et la touche
Entrée du pavé numérique sont 3 touches différentes.
Je te propose une variante simple qui permet de valider en appuyant
une seule fois sur la touche Entrée, ou sur la touche Tabulation :
Par hypothèse, le TextBox s'appelle "TextBox1", et le bouton OK,
"BOK".
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End SubBonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de
taper 2fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai
besoin
detaper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Re,
De rien ;-))
Mais pourquoi le focus devrai-il revenir sur le TextBox ? Je pensais que
le bouton OK après un traitement quelconque se terminait par un Unload du
UserForm.
S'il s'agit de renseigner plusieurs infos de même nature à la suite, je
sup-
pose qu'il faut également effacer le contenu du TextBox pour saisir l'info
suivante.
Voici une variante (DSaisie est le nom du UserForm) :
Dans un module standard :
Option Explicit
Public Suite As Boolean
Sub Saisie()
Suite = True
Do While Suite
DSaisie.Show
Loop
End Sub
Dans le module de DSaisie (BAnnuler est le nom du bouton Annuler)
Option Explicit
Private Sub BAnnuler_Click()
Suite = False
Unload Me
End Sub
Private Sub BOK_Click()
ReportDonnees
Unload Me
End Sub
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End Sub
Private Sub ReportDonnees()
' Ici, ton traitement.
End Sub
Bien évuidemment, l'ensemble suppose que TextBox1 a pour Valeur
une chaine vide ("") lorsque DSaisie s'affiche.
Merci beaucoup Michel, cela fonctionne parfaitement, mais, j'ai un petit
soucis, après validation, le focus ne revient pas dans le textbox.
Même avec SetFocus.
Alain
"Michel Gaboly" <michel@Suppgaboly.com> a écrit dans le message de
news:411652AE.84518391@Suppgaboly.com...
Bonjour Alain,
Si ton UserForm ne comporte que le TextBox et un bouton OK, le premier
clic sur la touche entrée après avoir renseigné le TextBox donne le
focus
au bouton OK, et un second clic sur la touche Entrée est alors
nécessaire.
Une procédure utilisant OnKey pourrait résoudre le problème, mais il
faut gérer le fait que la touche Retour, la Touche entrée et la touche
Entrée du pavé numérique sont 3 touches différentes.
Je te propose une variante simple qui permet de valider en appuyant
une seule fois sur la touche Entrée, ou sur la touche Tabulation :
Par hypothèse, le TextBox s'appelle "TextBox1", et le bouton OK,
"BOK".
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End Sub
Bonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de
taper 2
fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai
besoin
de
taper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Re,
De rien ;-))
Mais pourquoi le focus devrai-il revenir sur le TextBox ? Je pensais que
le bouton OK après un traitement quelconque se terminait par un Unload du
UserForm.
S'il s'agit de renseigner plusieurs infos de même nature à la suite, je
sup-
pose qu'il faut également effacer le contenu du TextBox pour saisir l'info
suivante.
Voici une variante (DSaisie est le nom du UserForm) :
Dans un module standard :
Option Explicit
Public Suite As Boolean
Sub Saisie()
Suite = True
Do While Suite
DSaisie.Show
Loop
End Sub
Dans le module de DSaisie (BAnnuler est le nom du bouton Annuler)
Option Explicit
Private Sub BAnnuler_Click()
Suite = False
Unload Me
End Sub
Private Sub BOK_Click()
ReportDonnees
Unload Me
End Sub
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End Sub
Private Sub ReportDonnees()
' Ici, ton traitement.
End Sub
Bien évuidemment, l'ensemble suppose que TextBox1 a pour Valeur
une chaine vide ("") lorsque DSaisie s'affiche.Merci beaucoup Michel, cela fonctionne parfaitement, mais, j'ai un petit
soucis, après validation, le focus ne revient pas dans le textbox.
Même avec SetFocus.
Alain
"Michel Gaboly" a écrit dans le message de
news:Bonjour Alain,
Si ton UserForm ne comporte que le TextBox et un bouton OK, le premier
clic sur la touche entrée après avoir renseigné le TextBox donne le
focus
au bouton OK, et un second clic sur la touche Entrée est alors
nécessaire.
Une procédure utilisant OnKey pourrait résoudre le problème, mais il
faut gérer le fait que la touche Retour, la Touche entrée et la touche
Entrée du pavé numérique sont 3 touches différentes.
Je te propose une variante simple qui permet de valider en appuyant
une seule fois sur la touche Entrée, ou sur la touche Tabulation :
Par hypothèse, le TextBox s'appelle "TextBox1", et le bouton OK,
"BOK".
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End SubBonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de
taper 2fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai
besoin
detaper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Merci beaucoup Michel pour toutes ces explications.
Très claires.
Alain
"Michel Gaboly" a écrit dans le message de
news:Re,
De rien ;-))
Mais pourquoi le focus devrai-il revenir sur le TextBox ? Je pensais que
le bouton OK après un traitement quelconque se terminait par un Unload du
UserForm.
S'il s'agit de renseigner plusieurs infos de même nature à la suite, je
sup-pose qu'il faut également effacer le contenu du TextBox pour saisir l'info
suivante.
Voici une variante (DSaisie est le nom du UserForm) :
Dans un module standard :
Option Explicit
Public Suite As Boolean
Sub Saisie()
Suite = True
Do While Suite
DSaisie.Show
Loop
End Sub
Dans le module de DSaisie (BAnnuler est le nom du bouton Annuler)
Option Explicit
Private Sub BAnnuler_Click()
Suite = False
Unload Me
End Sub
Private Sub BOK_Click()
ReportDonnees
Unload Me
End Sub
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End Sub
Private Sub ReportDonnees()
' Ici, ton traitement.
End Sub
Bien évuidemment, l'ensemble suppose que TextBox1 a pour Valeur
une chaine vide ("") lorsque DSaisie s'affiche.Merci beaucoup Michel, cela fonctionne parfaitement, mais, j'ai un petit
soucis, après validation, le focus ne revient pas dans le textbox.
Même avec SetFocus.
Alain
"Michel Gaboly" a écrit dans le message de
news:Bonjour Alain,
Si ton UserForm ne comporte que le TextBox et un bouton OK, le premier
clic sur la touche entrée après avoir renseigné le TextBox donne le
focusau bouton OK, et un second clic sur la touche Entrée est alors
nécessaire.
Une procédure utilisant OnKey pourrait résoudre le problème, mais il
faut gérer le fait que la touche Retour, la Touche entrée et la touche
Entrée du pavé numérique sont 3 touches différentes.
Je te propose une variante simple qui permet de valider en appuyant
une seule fois sur la touche Entrée, ou sur la touche Tabulation :
Par hypothèse, le TextBox s'appelle "TextBox1", et le bouton OK,
"BOK".
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End SubBonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de
taper 2fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai
besoindetaper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Merci beaucoup Michel pour toutes ces explications.
Très claires.
Alain
"Michel Gaboly" <michel@Suppgaboly.com> a écrit dans le message de
news:41165A6B.5316AE36@Suppgaboly.com...
Re,
De rien ;-))
Mais pourquoi le focus devrai-il revenir sur le TextBox ? Je pensais que
le bouton OK après un traitement quelconque se terminait par un Unload du
UserForm.
S'il s'agit de renseigner plusieurs infos de même nature à la suite, je
sup-
pose qu'il faut également effacer le contenu du TextBox pour saisir l'info
suivante.
Voici une variante (DSaisie est le nom du UserForm) :
Dans un module standard :
Option Explicit
Public Suite As Boolean
Sub Saisie()
Suite = True
Do While Suite
DSaisie.Show
Loop
End Sub
Dans le module de DSaisie (BAnnuler est le nom du bouton Annuler)
Option Explicit
Private Sub BAnnuler_Click()
Suite = False
Unload Me
End Sub
Private Sub BOK_Click()
ReportDonnees
Unload Me
End Sub
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End Sub
Private Sub ReportDonnees()
' Ici, ton traitement.
End Sub
Bien évuidemment, l'ensemble suppose que TextBox1 a pour Valeur
une chaine vide ("") lorsque DSaisie s'affiche.
Merci beaucoup Michel, cela fonctionne parfaitement, mais, j'ai un petit
soucis, après validation, le focus ne revient pas dans le textbox.
Même avec SetFocus.
Alain
"Michel Gaboly" <michel@Suppgaboly.com> a écrit dans le message de
news:411652AE.84518391@Suppgaboly.com...
Bonjour Alain,
Si ton UserForm ne comporte que le TextBox et un bouton OK, le premier
clic sur la touche entrée après avoir renseigné le TextBox donne le
focus
au bouton OK, et un second clic sur la touche Entrée est alors
nécessaire.
Une procédure utilisant OnKey pourrait résoudre le problème, mais il
faut gérer le fait que la touche Retour, la Touche entrée et la touche
Entrée du pavé numérique sont 3 touches différentes.
Je te propose une variante simple qui permet de valider en appuyant
une seule fois sur la touche Entrée, ou sur la touche Tabulation :
Par hypothèse, le TextBox s'appelle "TextBox1", et le bouton OK,
"BOK".
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End Sub
Bonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de
taper 2
fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai
besoin
de
taper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Merci beaucoup Michel pour toutes ces explications.
Très claires.
Alain
"Michel Gaboly" a écrit dans le message de
news:Re,
De rien ;-))
Mais pourquoi le focus devrai-il revenir sur le TextBox ? Je pensais que
le bouton OK après un traitement quelconque se terminait par un Unload du
UserForm.
S'il s'agit de renseigner plusieurs infos de même nature à la suite, je
sup-pose qu'il faut également effacer le contenu du TextBox pour saisir l'info
suivante.
Voici une variante (DSaisie est le nom du UserForm) :
Dans un module standard :
Option Explicit
Public Suite As Boolean
Sub Saisie()
Suite = True
Do While Suite
DSaisie.Show
Loop
End Sub
Dans le module de DSaisie (BAnnuler est le nom du bouton Annuler)
Option Explicit
Private Sub BAnnuler_Click()
Suite = False
Unload Me
End Sub
Private Sub BOK_Click()
ReportDonnees
Unload Me
End Sub
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End Sub
Private Sub ReportDonnees()
' Ici, ton traitement.
End Sub
Bien évuidemment, l'ensemble suppose que TextBox1 a pour Valeur
une chaine vide ("") lorsque DSaisie s'affiche.Merci beaucoup Michel, cela fonctionne parfaitement, mais, j'ai un petit
soucis, après validation, le focus ne revient pas dans le textbox.
Même avec SetFocus.
Alain
"Michel Gaboly" a écrit dans le message de
news:Bonjour Alain,
Si ton UserForm ne comporte que le TextBox et un bouton OK, le premier
clic sur la touche entrée après avoir renseigné le TextBox donne le
focusau bouton OK, et un second clic sur la touche Entrée est alors
nécessaire.
Une procédure utilisant OnKey pourrait résoudre le problème, mais il
faut gérer le fait que la touche Retour, la Touche entrée et la touche
Entrée du pavé numérique sont 3 touches différentes.
Je te propose une variante simple qui permet de valider en appuyant
une seule fois sur la touche Entrée, ou sur la touche Tabulation :
Par hypothèse, le TextBox s'appelle "TextBox1", et le bouton OK,
"BOK".
Private Sub BOK_Enter()
If TextBox1 <> "" Then
BOK_Click
End If
End SubBonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de
taper 2fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai
besoindetaper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
C'était avec plaisir ;-))Merci beaucoup Michel pour toutes ces explications.
Très claires.
Alain
C'était avec plaisir ;-))
Merci beaucoup Michel pour toutes ces explications.
Très claires.
Alain
C'était avec plaisir ;-))Merci beaucoup Michel pour toutes ces explications.
Très claires.
Alain
Bonjour Alain,
Si tu veux utiliser un textbox à répétition pour saisir dans un tableau
d'une feuille excel, des données... suite à l'appui
de la touche "Enter", Tout en conservant le focus sur le même textbox ...
voici un exemple de code :
'---------------------------
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
Static R As Long
If KeyCode = 13 Then
R = R + 1
Range("A" & R) = Replace(Me.TextBox1, vbCrLf, "")
Me.TextBox1 = ""
End If
End Sub
'---------------------------
Private Sub UserForm_Initialize()
'Ces propriétés peuvent être défini en mode création
'si c'est ce que tu préfères
Me.TextBox1.EnterKeyBehavior = True
Me.TextBox1.MultiLine = True
End Sub
'---------------------------
Salutations!
"Alain" a écrit dans le message de
news:OOj$
Bonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de taper
2
fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai besoin de
taper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
Bonjour Alain,
Si tu veux utiliser un textbox à répétition pour saisir dans un tableau
d'une feuille excel, des données... suite à l'appui
de la touche "Enter", Tout en conservant le focus sur le même textbox ...
voici un exemple de code :
'---------------------------
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
Static R As Long
If KeyCode = 13 Then
R = R + 1
Range("A" & R) = Replace(Me.TextBox1, vbCrLf, "")
Me.TextBox1 = ""
End If
End Sub
'---------------------------
Private Sub UserForm_Initialize()
'Ces propriétés peuvent être défini en mode création
'si c'est ce que tu préfères
Me.TextBox1.EnterKeyBehavior = True
Me.TextBox1.MultiLine = True
End Sub
'---------------------------
Salutations!
"Alain" <a.gonthier@tiscali.fr> a écrit dans le message de
news:OOj$hwVfEHA.3476@tk2msftngp13.phx.gbl...
Bonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de taper
2
fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai besoin de
taper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
Bonjour Alain,
Si tu veux utiliser un textbox à répétition pour saisir dans un tableau
d'une feuille excel, des données... suite à l'appui
de la touche "Enter", Tout en conservant le focus sur le même textbox ...
voici un exemple de code :
'---------------------------
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
Static R As Long
If KeyCode = 13 Then
R = R + 1
Range("A" & R) = Replace(Me.TextBox1, vbCrLf, "")
Me.TextBox1 = ""
End If
End Sub
'---------------------------
Private Sub UserForm_Initialize()
'Ces propriétés peuvent être défini en mode création
'si c'est ce que tu préfères
Me.TextBox1.EnterKeyBehavior = True
Me.TextBox1.MultiLine = True
End Sub
'---------------------------
Salutations!
"Alain" a écrit dans le message de
news:OOj$
Bonjour
Dans mon userform, j'ai un textbox qui me donne un résultat.
Je valide ce résultat par une touche OK.
Je souhaite pouvoir valider ce résultat par la touche entrée.
Mais lorsque je veux valider par la touche Entrée, je suis obligé de taper
2
fois sur la touche Entrée, alors qu'avec mon bouton OK, je n'ai besoin de
taper qu'une fois.
Comment faire afin de taper une seul fois sur la touche Entrée.
Merci beaucoup.
Alain
Il semblerait que ce soit communicatif et tant mieux, cela me fait plaisir !
;o))))))))))))))))))))))))
--
Amicales Salutations
"Michel Gaboly" a écrit dans le message de
news:C'était avec plaisir ;-))Merci beaucoup Michel pour toutes ces explications.
Très claires.
Alain
Il semblerait que ce soit communicatif et tant mieux, cela me fait plaisir !
;o))))))))))))))))))))))))
--
Amicales Salutations
"Michel Gaboly" <michel@Suppgaboly.com> a écrit dans le message de
news:411667A9.F12D9E6B@Suppgaboly.com...
C'était avec plaisir ;-))
Merci beaucoup Michel pour toutes ces explications.
Très claires.
Alain
Il semblerait que ce soit communicatif et tant mieux, cela me fait plaisir !
;o))))))))))))))))))))))))
--
Amicales Salutations
"Michel Gaboly" a écrit dans le message de
news:C'était avec plaisir ;-))Merci beaucoup Michel pour toutes ces explications.
Très claires.
Alain