Probleme textbox [ Résolu ]

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

  • Votes
  • Date
  • Date décroissante
  1. 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
    1. 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
      1. 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
        1. 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
          1. 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