Probleme textbox [ Résolu ]

Fermé
richard_10 Messages postés 23 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 31 mars 2012 - Modifié par richard_10 le 2/02/2011 à 15:52
richard_10 Messages postés 23 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 31 mars 2012 - 1 févr. 2011 à 21:53
Bonjour,

Je me trouve devant un probléme que je n'arrive pas à résoudre pour le moment :
Considérons une CommandButton et un TextBox, je veux transmettre des valeurs à partir de ma CommandButton vers le textbox.Enfin voilà un simple exemple :

Private Sub Command1_click()
dim i as integer
for i = 1 to 10
Text1.text = i
next i
End Sub

Résultat : le TextBox conserve que la dérniére valeur : 10 ,autrement dit : il y a un ecrasement des valeurs dans le Textbox

Qquestion : comment faire pour récupérer toutes les valeurs envoyées par la commandButton et cela sans ecrasement biensur :)
merci d'avance

6 réponses

Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
Modifié par Creutzou le 1/02/2011 à 15:41
Salut,

tu ne vois que la derniere valeur, c'est que le traitement est très rapide.
Ensuite pour ce que tu voudrais afficher soit un peu plus précis . tu voudrais que sur le bouton soit affiché "1 2 3 4 ... 10 " ?
Si oui, regarde avec ca ce que ca te donne :


Private Sub Command1_click()  
dim i as integer  
Test1.text = ""  
for i = 1 to 10  
Text1.text = Text1.text & " " & i  
next i  
End Sub   

Tout vient à point à qui sait attendre
0
richard_10 Messages postés 23 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 31 mars 2012 3
1 févr. 2011 à 15:54
Salut Creutzou,
Oui , c'etais exactement ce que je demandais et le résultat me satisfait bien , mais il me reste encore une petite chose à apprendre : je veux que ces valeurs soient distribuées par lignes.Je précise :
lors de l'éxécution du programme, j'ai obtenu comme résultat :
1 2 3 ... 10 , et puis comment faire pour les rendre :
1
2
...
10

PS : je sais que cela venir des propriétés du textbox mais je n'ai rien trouver.
voilà merci pour ta réponse
0
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
1 févr. 2011 à 16:17
je vais te mettre sur la piste, mais te laisser chercher (pour te faire progresser et t'obliger a comprendre la logique, si vraiment tu ne vois pas, je te dirais)

dans l'exemple du dessus , nous avions une boucle qui allait de 1 à 10.

à chaque passage dans cette boucle, on afficher la valeur de la variable i dans ton texte box.

Or toi au debut, tu lui avait dis
textbox.text = i


i étant succesivement egale à 1 puis à 2 puis à 3 ... puis à 10. Ton texte affichait succesivement 1 puis 2 puis 3 etc...

la petite modif que j'y ai apporté

Text1.text = Text1.text & " " & i  


veut dire : " tu prends tout le texte de text1 et tu lui ajoute un espace puis la valeur de i"

ce qui nous a donné logiquement : " 1 2 3 4 5 6 7 8 9 10"

donc si tu veux que chaque numero soit à la ligne, je te laisse chercher ce qu'il faut remplacer , et par quoi.

Voili voilou
0
richard_10 Messages postés 23 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 31 mars 2012 3
Modifié par richard_10 le 2/02/2011 à 21:32
Merci pour l'explication, j'ai carrément ignoré cette logique là , parce que le mot débutant que j'ai marqué dans le titre désigne seulement ma situation en VB , mais pas dans d'autres langages . En tout cas la solution que j'ai pu trouver et la suivante :
Private sub ....

Textbox = Textbox & "" & i & vbCrLf

end sub

et sa donne bien le bon résultat!

j'ai remarqué également qu'on pourra utilisé l'instruction Chr(13) + Chr(10) qui retourne la valeur correspondante au code ASCII, et là en ajoutant les deux valeurs obtenues , on aura alors un retour à la ligne

Finallement, merci bien à toi car tu m'as aider .
bonne soirée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
1 févr. 2011 à 16:48
pour un truc un peu plus propre tu peux te passer des "" ce qui te donerais donc


Private Sub Command1_click()  

    dim i as integer  
    Test1.text = ""  
    for i = 1 to 10  
         Text1.text = Text1.text & i & vbCrLf 
    next i  
End Sub   
0
richard_10 Messages postés 23 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 31 mars 2012 3
1 févr. 2011 à 21:53
c'est réglé , merci encore
0