OVH Cloud OVH Cloud

TextBox - Comment valider ?

7 réponses
Avatar
LANIMAL
Bonjour
Vous savez, c'est dur de constater que sa passion n'a d'égal que sa nullité.
Je fais mes 1ers pas avec UserForm.
Après avoir réussi à en mettre une en forme et à l'afficher (un intitulé
+ une TextBox), je me trouve tout c.. devant les 2 questions suivantes,
dont je sens bien qu'elles sont élémentaires :
Concernant
- Comment valider la saisie dans la TextBox1 ?
si possible en tapant Entrée
(Je pensais qu'en tapant Entrée, la saisie serait validée,
et le UserForm allait disparaître, comme avec une InputBox)

- Où et comment récupérer le texte saisi dans la TextBox ?

Les réponses doivent être tellement élémentaires, qu'elles ne figurent
même pas dans le bouquin de 600 pages sur VBA que j'ai acheté.
Merci.

7 réponses

Avatar
Jacques93
Bonjour LANIMAL,

Deux solutions, au moins...
1)
Dans un InputBox, tu as un bouton 'OK' et un Bouton 'Annuler', tu fais
pareil dans ton UserForm, tu ajoutes 2 boutons et le code:

Private Sub UserForm_Initialize()
With Me.CommandButton1
.Caption = "OK"
.Default = True
End With
With Me.CommandButton2
.Caption = "Annuler"
.Cancel = True
End With
End Sub

Private Sub CommandButton1_Click()
' A adpapter en fonction de l'endoit ou tu veux récupérer la saisie
Range("A1") = Me.TextBox1.Text
Unload Me
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Le fait d'appuyer sur <Entrée> va provoquer l'événement
CommandButton1_Click (le bouton a la propriété Default = True)

Le fait d'appuyer sur <Echap> va provoquer l'événement
CommandButton2_Click (le bouton a la propriété Cancel = True)

C'est le comportement standard des boites de dialogues Windows :
<Entrée> => Bouton 'OK'
<Echap> => Bouton 'Annuler'
<Tab> => Contrôle suivant


2) Tu n'ajoutes pas de boutons :
Private Sub TextBox1_KeyDown(ByVal KeyCode _
As MSForms.ReturnInteger, _
ByVal Shift As Integer)
If KeyCode = 13 Then ' <Entrée>
' A adpapter en fonction de l'endoit
' ou tu veux récupérer la saisie
Range("A1") = Me.TextBox1.Text
Unload Me
End If
if keycode = 27 then ' <Echap>
Unload Me
End If
End Sub


Et surtout t'inquiètes pas , tout le monde a été débutant un jour, perso
je ne comprends pas la moitié du quart des formules de la famille V (AV
et ChrisV), sans oublier les autres que je ne voudrais pas vexer ... ;-)

Bonjour
Vous savez, c'est dur de constater que sa passion n'a d'égal que sa
nullité.
Je fais mes 1ers pas avec UserForm.
Après avoir réussi à en mettre une en forme et à l'afficher (un intitulé
+ une TextBox), je me trouve tout c.. devant les 2 questions suivantes,
dont je sens bien qu'elles sont élémentaires :
Concernant
- Comment valider la saisie dans la TextBox1 ?
si possible en tapant Entrée
(Je pensais qu'en tapant Entrée, la saisie serait validée,
et le UserForm allait disparaître, comme avec une InputBox)

- Où et comment récupérer le texte saisi dans la TextBox ?

Les réponses doivent être tellement élémentaires, qu'elles ne figurent
même pas dans le bouquin de 600 pages sur VBA que j'ai acheté.
Merci.



--
Cordialement,

Jacques.

Avatar
Youky
- Où et comment récupérer le texte saisi dans la TextBox ?

Il est bon de prévoir un bouton OK ou Valide dans l'userform
dans ce bouton mettre ceci......

toto=TextBox1.Text 'ou Feuil1.[A1]=TextBox1.Text
Userform1.hide 'pour fermer l'userform1

VBA=prise de tête
Youky bon courage
"LANIMAL" a écrit dans le message de news:

Bonjour
Vous savez, c'est dur de constater que sa passion n'a d'égal que sa
nullité.

Je fais mes 1ers pas avec UserForm.
Après avoir réussi à en mettre une en forme et à l'afficher (un intitulé
+ une TextBox), je me trouve tout c.. devant les 2 questions suivantes,
dont je sens bien qu'elles sont élémentaires :
Concernant
- Comment valider la saisie dans la TextBox1 ?
si possible en tapant Entrée
(Je pensais qu'en tapant Entrée, la saisie serait validée,
et le UserForm allait disparaître, comme avec une InputBox)

- Où et comment récupérer le texte saisi dans la TextBox ?

Les réponses doivent être tellement élémentaires, qu'elles ne figurent
même pas dans le bouquin de 600 pages sur VBA que j'ai acheté.
Merci.


Avatar
LANIMAL
Merci Jacques
Tu as probablement constaté l'incohérence de ma dernière réponse d'hier.
Décidément, j'avais besoin de repos :-(((.
Par contre j'apprécie vraiment ta longue réponse d'aujourd'hui, très
explicite et très didactique, beaucoup + que ce que j'ai lu dans mon
bouquin (et aussi ds l'aide de VBA).
J'y ai découvert la signification du mot-clé Me, qui m'a inquiété à la
1ère lecture, mais sur ce pt mon bouquin est clair.
Je n'ai pas encore mis tes conseils en application...
parce que Mme me demande elle aussi un peu de tps ;-)
Mais ce coup-là je crois avoir compris, et je sens que je vais décoller
pour de bon... enfin, jusqu'au prochain trou d'air ! !

Merci aussi à Youki, ta réponse est un bon complément à celle de
Jacques, et elle contribue à élargir mes connaissances.
Bon dimanche


Bonjour LANIMAL,

Deux solutions, au moins...
1)
Dans un InputBox, tu as un bouton 'OK' et un Bouton 'Annuler', tu fais
pareil dans ton UserForm, tu ajoutes 2 boutons et le code:

Private Sub UserForm_Initialize()
With Me.CommandButton1
.Caption = "OK"
.Default = True
End With
With Me.CommandButton2
.Caption = "Annuler"
.Cancel = True
End With
End Sub

Private Sub CommandButton1_Click()
' A adpapter en fonction de l'endoit ou tu veux récupérer la saisie
Range("A1") = Me.TextBox1.Text
Unload Me
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Le fait d'appuyer sur <Entrée> va provoquer l'événement
CommandButton1_Click (le bouton a la propriété Default = True)

Le fait d'appuyer sur <Echap> va provoquer l'événement
CommandButton2_Click (le bouton a la propriété Cancel = True)

C'est le comportement standard des boites de dialogues Windows :
<Entrée> => Bouton 'OK'
<Echap> => Bouton 'Annuler'
<Tab> => Contrôle suivant


2) Tu n'ajoutes pas de boutons :
Private Sub TextBox1_KeyDown(ByVal KeyCode _
As MSForms.ReturnInteger, _
ByVal Shift As Integer)
If KeyCode = 13 Then ' <Entrée>
' A adpapter en fonction de l'endoit
' ou tu veux récupérer la saisie
Range("A1") = Me.TextBox1.Text
Unload Me
End If
if keycode = 27 then ' <Echap>
Unload Me
End If
End Sub


Et surtout t'inquiètes pas , tout le monde a été débutant un jour, perso
je ne comprends pas la moitié du quart des formules de la famille V (AV
et ChrisV), sans oublier les autres que je ne voudrais pas vexer ... ;-)


Bonjour
Vous savez, c'est dur de constater que sa passion n'a d'égal que sa
nullité.
Je fais mes 1ers pas avec UserForm.
Après avoir réussi à en mettre une en forme et à l'afficher (un
intitulé + une TextBox), je me trouve tout c.. devant les 2 questions
suivantes, dont je sens bien qu'elles sont élémentaires :
Concernant
- Comment valider la saisie dans la TextBox1 ?
si possible en tapant Entrée
(Je pensais qu'en tapant Entrée, la saisie serait validée,
et le UserForm allait disparaître, comme avec une InputBox)

- Où et comment récupérer le texte saisi dans la TextBox ?

Les réponses doivent être tellement élémentaires, qu'elles ne figurent
même pas dans le bouquin de 600 pages sur VBA que j'ai acheté.
Merci.







Avatar
Misange
bonsoir lanimal,
comme dit Jacques on en est tous passés par là.
J'ai mis sur excelabo plusieurs pages (rubrique débuter, fiches pas à
pas) pour ceux qui découvrent le VBA, les macros, les tableaux croisés
dynamiques... Avec à chaque fois un exemple à télécharger. Concernant
les userfors, tu trouveras aussi de nombreux exemples sur la page
userforms justement et sur celle appellée contrôles.
bon courage ! et reviens sur le forum pour poser tes questions !

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

Le 02/07/2005 20:19, :
Bonjour
Vous savez, c'est dur de constater que sa passion n'a d'égal que sa
nullité.
Je fais mes 1ers pas avec UserForm.
Après avoir réussi à en mettre une en forme et à l'afficher (un intitulé
+ une TextBox), je me trouve tout c.. devant les 2 questions suivantes,
dont je sens bien qu'elles sont élémentaires :
Concernant
- Comment valider la saisie dans la TextBox1 ?
si possible en tapant Entrée
(Je pensais qu'en tapant Entrée, la saisie serait validée,
et le UserForm allait disparaître, comme avec une InputBox)

- Où et comment récupérer le texte saisi dans la TextBox ?

Les réponses doivent être tellement élémentaires, qu'elles ne figurent
même pas dans le bouquin de 600 pages sur VBA que j'ai acheté.
Merci.


Avatar
Jacques93
Bonjour LANIMAL,
Fais gaffe quand même aux fonctions :

=PLAFOND()

et

=PLANCHER()

:-D

Je n'ai pas encore mis tes conseils en application...
parce que Mme me demande elle aussi un peu de tps ;-)
Mais ce coup-là je crois avoir compris, et je sens que je vais décoller
pour de bon... enfin, jusqu'au prochain trou d'air ! !



--
Cordialement,

Jacques.

Avatar
LANIMAL
Bonjour Jacques
Ça y est !
J'ai essayé, adapté, testé... et ça marche :-)))))
Merci pour le tps que tu as passé avec moi pour me décoincer.
Je suis un ANIMAL heureux !
Michel



Bonjour LANIMAL,

Deux solutions, au moins...


Avatar
LANIMAL
Bonjour Misange.
Et bien, justement hier, j'ai essayer d'aller sur les sites
http://www.excelabo.net et ...cathyastuce.com
Je me suis fait répondre que l'un comme l'autre étaient "introuvable".
Ça m'étonnait bien que ces 2 sites se soient donnés le mot pour fermer
en même temps.
Probablement y avait-il une bulle dans le réseau à ce moment.
Merci, à + peut-être ?

bonsoir lanimal,
comme dit Jacques on en est tous passés par là.
J'ai mis sur excelabo plusieurs pages (rubrique débuter, fiches pas à
pas) pour ceux qui découvrent le VBA, les macros, les tableaux croisés
dynamiques... Avec à chaque fois un exemple à télécharger. Concernant
les userfors, tu trouveras aussi de nombreux exemples sur la page
userforms justement et sur celle appellée contrôles.
bon courage ! et reviens sur le forum pour poser tes questions !

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

Le 02/07/2005 20:19, :

Bonjour
Vous savez, c'est dur de constater que sa passion n'a d'égal que sa
nullité.
Je fais mes 1ers pas avec UserForm.
Après avoir réussi à en mettre une en forme et à l'afficher (un
intitulé + une TextBox), je me trouve tout c.. devant les 2 questions
suivantes, dont je sens bien qu'elles sont élémentaires :
Concernant
- Comment valider la saisie dans la TextBox1 ?
si possible en tapant Entrée
(Je pensais qu'en tapant Entrée, la saisie serait validée,
et le UserForm allait disparaître, comme avec une InputBox)

- Où et comment récupérer le texte saisi dans la TextBox ?

Les réponses doivent être tellement élémentaires, qu'elles ne figurent
même pas dans le bouquin de 600 pages sur VBA que j'ai acheté.
Merci.