Incrémenter une textbox

Résolu
Signaler
Messages postés
13
Date d'inscription
dimanche 3 décembre 2000
Statut
Membre
Dernière intervention
15 avril 2008
-
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
-
Bonjour à tous,
voila j'ai réussi à générer des textbox sous forme d'équation:

http://imageshack.us
maintenant j'aimerai que apparaisse dans la textbox1 1 , textbox2 2 , textbox3 = 3 ,.......etc
quenlqu'un pourrai m'aider svp ??

merci d'avance ;)

19 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
Effectivement j'avais pas su lire

Est ce que l'ordre de création est important? je veux dire par là que actuellement tu as par exemple les indices suivant pour les textbox
Essaie peu etre cela. mais a présent les indices sont modifés.

Private Sub Command1_Click()
Dim NumTxt As Integer
Dim i As Integer ' ATTENTION comme i, n, m etaient
Dim Colonne As Integer
Dim Ligne As Integer
   Text1(0).Visible = True
   Text1(0).Text = "1"
   NumTxt = CInt(Text2(0).Text)
 
   If Text1.Count <> 1 Then
       For g = Text1.Count - 1 To 1 Step -1
           Call Unload(Text1(g))
       Next
   End If
   For i = 1 To ((NumTxt) ^ 2) - 1
       Call Load(Text1(i))
       With Text1(i)
           Colonne = i Mod NumTxt           If Colonne 0 Then Ligne Ligne + 1
           .Visible = True
           .Text = CStr(Colonne + 1)
           .Left = Text1(0).Left + (Colonne * Text1(0).Width) + 15
           .Top = Text1(0).Top + (Ligne * Text1(0).Height)
       End With
   Next i
End Sub , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
RE,

Si la chaine "fixe" ne change pas d'une ligne à l'autre, regarde comment concaténer une chaine de caractère. Car en fin de compte ce n'est rien de plus que cela.

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
Oups les parentheses n'était pas au bon endroit , mais la encore tu aurais pu le voir. Il faut comprendre les codes proposé

.Left = Text1(0).Left + Colonne * (Text1(0).Width + 50)

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
97
Date d'inscription
dimanche 24 avril 2005
Statut
Membre
Dernière intervention
3 septembre 2010

comment as tu générer tes textbox ?
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Effectivement, il serait utile de savoir comment sont générer les TExtbox.

Si tu as fait des groupes de controles tu peux te servir de leur propriétés Index .

Sinon tu te sert de ta variable de boucle pour inscrire la valeur dans le textbox (Propriété Text) . en fait je ne vois pas trop quel est le problème

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
13
Date d'inscription
dimanche 3 décembre 2000
Statut
Membre
Dernière intervention
15 avril 2008

Private Sub Command1_Click()
Dim NumTxt As Integer
Dim i, n, m, z As Integer
 
 Text1(0).Visible = True
NumTxt = CInt(Text2(0).Text)

If Text1.Count <> 1 Then
    For g = Text1.Count - 1 To 1 Step -1
        Call Unload(Text1(g))
    Next
End If
r = 0
For i = 1 To ((NumTxt) ^ 2) - 1
r = r + 1

     Call Load(Text1(i))

    With Text1(i)
        
        .Text = ""
        

        
        .Left = Text1(i - 1).Left
        
        .Top = Text1(i - 1).Top + Text1(i - 1).Height + 120
    
        .Visible = True
    
        If r Mod (NumTxt) = 0 Then
        Text1(i).Left = Text1(i).Left + 800
        Text1(i).Top = Text1(0).Top
        End If
    
    End With
    
Next i

End Sub

Private Sub Form_Load()
Text1(0).Visible = False
End Sub
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,

Private Sub Command1_Click()
Dim NumTxt As Integer
Dim i As Integer ' ATTENTION comme i, n, m etaient
Dim n As Integer 'comme tu les déclarais des Varaint
Dim m As Integer, z As Integer

   Text1(0).Visible = True
   Text1(0).Text = "1"
   NumTxt = CInt(Text2(0).Text)

   If Text1.Count <> 1 Then
       For g = Text1.Count - 1 To 1 Step -1
           Call Unload(Text1(g))
       Next
   End If
   r = 0
   For i = 1 To ((NumTxt) ^ 2) - 1
       r = r + 1
       Call Load(Text1(i))
       
       With Text1(i)
           .Text = i + 1
           .Left = Text1(i - 1).Left
           .Top = Text1(i - 1).Top + Text1(i - 1).Height + 120
           .Visible = True
   
           If r Mod (NumTxt) = 0 Then
               .Left = .Left + 800
               .Top = Text1(0).Top
           End If
   
       End With
   
   Next i

End Sub<hr />
Private Sub Form_Load()
   Text1(0).Visible = False
End Sub , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
13
Date d'inscription
dimanche 3 décembre 2000
Statut
Membre
Dernière intervention
15 avril 2008

merci pour la réponse j'y avait deja pensez mais je me suis mal exprimé;   :s
comme je l'ai dit c'est sous forme d'équation alors au lieu d'écrire verticalement, il faudrai que les chiffres s'incrémente horizontalement et à chaque lignes reviennent de zéro.

voila je pense être bien clair.
si pas demander explication ^^
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,

Sais pas si j'ai tout compris mais essaie ceci alors. (sert toi de ton test
If r Mod (NumTxt) = 0 Then Qui te permet de savoir QUAND tu change de colonne)
Private Sub Command1_Click()
Dim NumTxt As Integer
Dim i As Integer ' ATTENTION comme i, n, m etaient
Dim n As Integer 'comme tu les déclarais des Varaint
Dim m As Integer, z As Integer

   Text1(0).Visible = True
   Text1(0).Text = "1"
   NumTxt = CInt(Text2(0).Text)
   
   If Text1.Count <> 1 Then
       For g = Text1.Count - 1 To 1 Step -1
           Call Unload(Text1(g))
       Next
   End If
   r = 0
   n = 1
   For i = 1 To ((NumTxt) ^ 2) - 1
       r = r + 1
       n = n + 1
       Call Load(Text1(i))
       
       With Text1(i)
           .Text = CStr(n)
           .Left = Text1(i - 1).Left
           .Top = Text1(i - 1).Top + Text1(i - 1).Height + 120
           .Visible = True
   
           If r Mod (NumTxt) = 0 Then
               n = 1
               .Text = CStr(n)
               .Left = .Left + 800
               .Top = Text1(0).Top
           End If
   
       End With
 
   Next i

End Sub , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
13
Date d'inscription
dimanche 3 décembre 2000
Statut
Membre
Dernière intervention
15 avril 2008

bon et bien je doit vraiment avoir du mal a m'exprimer :s

ton programme permet d'écrire 1,2,3,4,5...... par colonne et moi je voudrai que sa se fasse par ligne :)
Messages postés
13
Date d'inscription
dimanche 3 décembre 2000
Statut
Membre
Dernière intervention
15 avril 2008

merci bien c'est nikel mais j'aurai une autre question encore.
désoler de t'embeter mais je débute.
donc : est-il possible en plus des chiffres entré une lettre dans chaque textbox

exemple : I1, I2, I3, I4, I5,......???

et sinon pour ces textbox la l'ordre des indices n'a pas d'importance donc je te remercie encore une fois ;)
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Oui c'est possible,  Mais au vu du code que je t'ai passé par rapport au code de départ, tu pourrais essayer de trouver seul non?

Tu as bien trouvé quelle ligne te permettait de mettre les chiffres non?

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
13
Date d'inscription
dimanche 3 décembre 2000
Statut
Membre
Dernière intervention
15 avril 2008

oui oui j'ai bien compris le programme et donc je sais comment les chiffres sont inscrit seulement.
je ne sais pas quel code utiliser pour pouvoir entré une lettre "fixe" en plus des chiffres dans chaque textbox
Messages postés
13
Date d'inscription
dimanche 3 décembre 2000
Statut
Membre
Dernière intervention
15 avril 2008

ha merci beaucoup j'avoue que j'ai essayé de faire comme dans Qbasic et donc mettre une virgule.
mais je n'avai pas pensé à ce symbole :/
Messages postés
13
Date d'inscription
dimanche 3 décembre 2000
Statut
Membre
Dernière intervention
15 avril 2008

il y as quand meme un problème que je n'arrive pas à résoudre.
si j'ai bien compris tu géneres les textbox par ligne et non par colonnes pour pouvoir y introduire les chiffres

mon problème : quel valeur changé pour pouvoir décaler les texbox de chaque ligne et non de chaque colonnes ??
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Tu veux dire revenir à ton mode de création précédente???
Si c'est aps ca j'ai pas compris

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
13
Date d'inscription
dimanche 3 décembre 2000
Statut
Membre
Dernière intervention
15 avril 2008

je voudrai savoir comment déplacer vers la droite,avec un même esapce, chaque textbox de chaque ligne.
Ce qui aurai pour effet de créer un espace entre chaque colonne.
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Essaie en juant avec la valeur du 15

.Left = Text1(0).Left + (Colonne * Text1(0).Width + 15)

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
13
Date d'inscription
dimanche 3 décembre 2000
Statut
Membre
Dernière intervention
15 avril 2008

cela me décale toute les textbox par rapport à la première et non les une par rapport au autre.

http://img515.imageshack.us/my.php?image=vbfranceai1.jpg