je veux faire apparaitre dans une nouvelle feuille (Form2) un nombre de TextBox égal au nombre saisi sur le textbox de la form 1 mais je sais pas trop comment m y prendre et merci ^^
Version imprimable
je veux faire apparaitre dans une nouvelle feuille (Form2) un nombre de TextBox égal au nombre saisi sur le textbox de la form 1 mais je sais pas trop comment m y prendre et merci ^^
Salut
Dans ton Form2 tu mes 1 premier TextBox avec index pour créer un groupe de contrôle, lors de l'appel à ce Form2 fait depuis Form1, dans la procédure Load du Form2 tu ajoutes autant de TextBox (-1) que la demande TextBox de Form1.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub Form_Load() 'dans le Form2 Dim Nbr As Integer Dim T As Integer Nbr = Form1.TextSaisis.Text 'recuperation de l'information provenant du Form1 For T = 1 To Nbr - 1 Load TextBox1(T) TextBox1(T).Move TextBox1(T - 1).Left, TextBox1(T - 1).Top + TextBox1(T - 1).Height + 60, _ TextBox1(T - 1).Width, TextBox1(T - 1).Height TextBox1(T).Visible = True Next T End Sub
Merci :D
par contre j ai une erreur de compilation sur le private sub form load ^^' et j ai pas su comment le faire sachant que j ai changé les trucsj ai pas trop compris ce que tu as ecris avant le code ^^' (je débute en VB)Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Sub Form_Load() Dim Nbr As Integer Dim T As Integer Nbr = Form1.TextBox2.Text For T = 1 To Nbr - 1 Load TextBox1(T) TextBox1(T).Move TextBox1(T - 1).Left, TextBox1(T - 1).Top + TextBox1(T - 1).Height + 60, _ TextBox1(T - 1).Width, TextBox1(T - 1).Height TextBox1(T).Visible = True Next T End Sub
Au moment de la création du Form2, aprés la dépose du TextBox1, dans sa propriété Index, tu y mes un zéro, cela signifie que tu veux créer un groupe de contrôle.Citation:
Dans ton Form2 tu mes 1 premier TextBox avec index pour créer un groupe de contrôle
Sur la form2 sa ne m affiche rien et je sais pas pk ^^' donc si tu peux m aider je t en serai reconnaissant :)Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub Form2_Load() Dim Nbr As Integer Dim T As Integer Nbr = Val(Form1.TextBox2.Text) Label1.Caption = Nbr For T = 1 To Nbr - 1 Load textbox1(T) textbox1(T).Move textbox1(T - 1).Left, textbox1(T - 1).Top + textbox1(T - 1).Height + 60 textbox1(T - 1).Width , textbox1(T - 1).Height textbox1(T).Visible = True textbox1(T).ZOrder = 0 Next T End Sub
j'ai essayé chez moi en remplacent le "Form2_Load()" par "Form_Load()" et en supprimant "TextBox1(T).ZOrder = 0" et cela fonctionne parfaitement.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub Form_Load() Dim Nbr As Integer Dim T As Integer Nbr = Val(Form1.TextBox2.Text) Label1.Caption = Nbr For T = 1 To Nbr - 1 Load TextBox1(T) TextBox1(T).Move TextBox1(T - 1).Left, TextBox1(T - 1).Top + TextBox1(T - 1).Height + 60, TextBox1(T - 1).Width, TextBox1(T - 1).Height TextBox1(T).Visible = True 'TextBox1(T).ZOrder = 0 Next T End Sub
j ai utilisé ton codej ai erreur sur le private sub comme quoi la procédure ou fonction et non définie ^^'Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Sub Form_Load() Dim Nbr As Integer Dim T As Integer Nbr = Val(Form1.Text2.Text) Label1.Caption = Nbr For T = 1 To Nbr - 1 Load Text1(T) Text1(T).Move Text1(T - 1).Left, Text1(T - 1).Top + Text1(T - 1).Height + 60, Text1(T - 1).Width, Text1(T - 1).Height TextBox1(T).Visible = True End Sub
Un coup tu écrit Text1(T) et un autre tu écris TextBox1(T) :calim2:
Donne leur le même nom, sinon ça ne fonctionne pas. De plus il te manque le "Next" à la fin pour pouvoir faire la boucle avec "For"
Chez moi cela fonctionneCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub Form_Load() Dim Nbr As Integer Dim T As Integer Nbr = Val(Form1.Text2.Text) Label1.Caption = Nbr For T = 1 To Nbr - 1 Load Text1(T) Text1(T).Move Text1(T - 1).Left, Text1(T - 1).Top + Text1(T - 1).Height + 60, Text1(T - 1).Width, Text1(T - 1).Height Text1(T).Visible = True Next End Sub
ton code et sa donne tjr çaCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub Form_Load() Dim Nbr As Integer Dim T As Integer Nbr = Val(Form1.Text2.Text) Label1.Caption = Nbr For T = 1 To Nbr - 1 Load Text1(T) Text1(T).Move Text1(T - 1).Left, Text1(T - 1).Top + Text1(T - 1).Height + 60, Text1(T - 1).Width, Text1(T - 1).Height Text1(T).Visible = True Next End Sub
Tu as bien mis les composants suivant sur tes form?
Form1:
Textbox intitulé: Text2
Commandboutton pour appeler l'ouverture de la form2
Form2:
Label intitulé: Label1
Textbox intitulé: Text1(0)
Vérifie déjà ça...
manque le text1(0) sur la form2 mais cmt le creer et merci encore :oops:
c bon merci j ai trouvé merci encore :)