Relation entre boutton de commande et TextBox (VB)
Forum Programmation : Relation entre boutton de commande et TextBox (VB)
Alors c'est du Visual basic qui me pose problême.
Schéma :
|Valider|
(______)
------------------------------------------------
Descriptif :
|Valider| : c'est un boutton de commande (Enabled mis sur false)
(______) : c'est une textbox.
---------------------------------------------------
Demande :
Quand l'utilisateur écris quelque chose dans la textbox, le bouton de commande mets Enabled sous true.
Merci pour ceux qui m'aideront, les autres n'ont qu'à aller .... :-D
edit: oups j'avais pas compris ta question =d
Salut ,
y'a longtemps que je n'ai pas fait du VB
mais disons que ton bouton se nomme Bout et textbox txt.
dans le code de la textbox dans la subroutine "changed" tu met bout.Enabled = true
je crosi que c'est un truc comme ça
J'essaye et je vous redis se que sa fait.
Au faites merci Tonton :-D
De rien ,
tiens moi au courant
Ben t'as rien perdu, c'est tout à fais ce qu'il me fallait !
Pendant que j'y suis, comment faire pour que seul les nombres soient tapables dans ma textbox ?
regarde dans les propriétés de la text box
C'est ce que je fais depuis un bon quart d'heure sans arriver à mettre la main sur la bonne propriété.
il faut tester ce qui est taper donc
tu utilises :
If IsNumeric(Text1.Text) Then
else
msgbox(....)
endif
avec ça , ça devrait etre bon
C'es pas pour m'arranger, mais en attendant mieux.
Bon quand à fapprendre qulque chose, autant l'apprendre j'usqu'au bout. Tu peut m'expliqur la syntaxe pour une commande msgbox, stp. Mici !
msgbox("texte" )
ok je vois
ca n eme déange pas du tout de t'aider
mais ce site sera le faire mieux que moi
http://www.vbfrance.com
il y a tout ce que tu veux
" Donne-lui un poisson aujourd’hui, il mangera aujourd'hui, apprend lui à pêcher, il mangera toute sa vie"
Merci sa va mieux avec les " :-D
-------------------------------------------
gnark maintenat sa marche presque tout seul.
Code :
|
J'ai inséré result = "" afin que quand ce n'et pas un carractère numérique le message d'erreur s'affiche et que le carctère non-admis s'efface.
Mais écris comme ça, il me met 2 fois le message d'erreurs avant d'effacer le carractère.
Moi j'en voudrais qu'un de message d'erreur. Une idéee ? :-(
Tu peux donner un code plus complet stp ?
Edit :
Tu as mis :
Then puis tout de suite après "Else"... il y a un problème...
Zak ,
on a fait comme cela car je sais pas si la fonction
IsNotNumeric existe
donc a fait a fait :
si c'est numéric , alors
(on fait rien )
sinon
message
fin Si
| Citation :
|
Voila le code corrigé :
| Citation :
|
J'ai pas trop compris ton results="" :-?
Nan y a pas de problème pour then et Else qui se suivent. Tout simplement que si la condition est vrai et ben y a rien qui se passe.
Je pense qu'il n'y a pas besoin du reste du script. Je ne suis pas programmeur novice (sauf en VB :-) ), donc je sais situé à peu près le lieu de l'erreur.
Voilì voilù
| Citation :
|
Oui c'est un peu foireux xD
Regarde mon code, c'est plus simple. Ta fonction renvoi 1 si elle est vérifiée et 0 si elle ne l'est pas.
Le truc c que je comprend pas tout ton code.
Y a un zéro qui se ballade je sais pas à quoi y sert et après tu mets then, j'ai l'impression que tu mets le message si c'est un caractère numérique.
Pour ce qui est du : result = "" je me suis trompé (on s'en serait douter). Il faut remplacé result par Text1. En faites c'est le nom que j'ai donné à ma textbox mais comme on l'appel Text1 depuis le début, j'ai juste omis de lui changer son nom :-P .
Au final éclaircit moi un peu ton code que j'y plus claire. Mici bien.
Private Sub Text1_Change()
' Si text1.text change :
If IsNumeric(Text1.Text) = 0 Then
' Si la fonction IsNumeric() renvoi 0, cela signifie
' que text1.text n'est pas numérique
MsgBox "Veuillez utilisez des caractères numériques !"
Text1.Text = ""
End If
End Sub
Sa y est tout compris. Et puis sinon toi qui a l'air de bien t'y connaitre, y a pas plus simplement une fonction de la textbox qui pourrait bloquer l'écrit des autres caractères autres que ceux numériques ?
Merci quand même ! :-D
Attend j'ai compris ton problème ! (oui j'ai 2 de tension !) je te refais un code avec les explication et j'édite ca. Laisse moi 5 min
Edit :
Voilà j'ai trouvé :
| Citation :
|
;-)
J'veux bien mais n'y a t'il pas besoin de sauvegarder une nouvelle fois la variable texte_backup ? Par exemple faire en sorte que la partie Private Sub Form_Load() soit lut à chaque fois que l'utilisateur tape un caractère.
Dans le cas contraire j ne comprends pas bien l'utilité de cette partie.
Ah oui bien sur tu peut mettre form_load() a la place de texte_backup = Text1.Text
Mais si tu ajoute d'autre truc dans form_load...
Ou alors tu te fais un fonction...
private sub backup()
texte_backup = Text1.Text
end sub
Et tu met après call backup() ou tout simplement backup() a la place de texte_backup = Text1.Text
lol, RIEN COMPRIS !!!
On vas faire plus simple, je n comprends ton histoire d'enregistremnt de texte_backup.
Je parle du script de tout à l'heure pas de ta dernière réponse :-)
Et quand tu déclare ta variable ne devrait on pas marquer Dim texte_backup AS INTEGER au lieu de STRING. C'est des nombres entiers qu'on veut ! Non?
Bon le texte_backup permet en fait de sauvegarder le texte ; comme ca si un caractère est entré ca n'efface pas tout : juste la dernière lettre tapé... C'est vrai que ca aurait pu etre integer mais avec string on peut mettre beaucoup plus de caractères... même numérique.
Essai mon code :
Met une textbox et recopies simplement mon code.
Bon finallement j'ai modifier ton code et je l'ai adopté à mon souhait, voilà se que j'obtient :
Code :
|
Voilà cette fois je crois ne rein avoir oublié de traduire.
Remerciement :
Tonton & Zak.
C'est bien ton truc ; l'avantage de ma solution était que ca ne mettait pas une message box pénible ; seul les caractères numériques pouvaient être tapés...
Il y a 522 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
