[VB 2005 EE] attribuer une valeur à plusieures Textbox

Bonjour tout le monde,

Je cherche à comprendre comment faire pour attribuer une valeur à plusieures listbox en même temps.
Par exemple j’ai Textbox1 à Textbox10 auxquelles je voudrais attribuer une valeur nulle.

J’avais pensé à quelque chose comme ceci:

[code]Dim R As Integer
Dim T As String

For R = 1 To 10
T = “TextBox” + R
T.Text() = ""
Next[/code]

Mais bien sûr ça ne fonctionne paaaaas du tout. pas tapper! aïe!

Dans un autre registre je cherche à comprendre comment alimenter une Listbox avec un fichier txt. J’ai beau essayer de me dépatouiller avec divers ‘cours d’initiation’ trouvés à droite ou à gauche sur le net, je bloque encore et toujours [noooooob].

Merci d’avance pour votre précieuse aide.

Hum… je ne sais pas du tout si tu peux faire ça.
Le mieux ne serait-il pas de faire :

String test = 'texte'; TextBox1.Text = test; TextBox2.Text = test; // [...] TextBox10.Text = test;

C’est ce que je pensais faire au début, mais quand sur certaines forms je dois le faire pour une trentaine de Textbox je trouve ça un peu bourrin.

Ton code, avec un truc genre “Cstr” * (Ou IntToString, enfin ce genre de joyeusetés quoi) sur le R ça ne marche pas ?

  • Oui, je sais, c’est du VBA, c’est noob, tout ça, mais je bosse que là dessus en ce moment B)

EDIT : Un truc dans ce genre

[code]Dim R As Integer
Dim T As String

For R = 1 To 10
T = “TextBox” & Cstr®
T.Text = "blabla"
Next[/code]

Et c’est encore du VBA B)

Mais jamais ca marche ca en Vb.net. Ou alors j’ai mal pige la question et on est en plein langage de script pabo B)

Et 30 textbox sur une form… tu commences a approcher de la limite du beurk quand meme B)

Enfin le mieux, en .Net, c’est de faire un truc du genre… Je te le met en C#, tu te le porte en VB.Net

foreach(Control c in [MaForm].Controls) { Textbox bobox = c as TextBox; if (bobox != null && bobox.Name.StartsWith("Textbox")) bobo.Text = string.Empty; }
ou un truc du genre…

Ben, j’ai bien dit qu’en ce moment je baignais dans le VBA et que le .net c’était trèèèèèèès loin B)

Ca vaut ce que ça vaut, mais c’était proche de son code, donc j’ai tenté B)

Haha glop, j’ai hesité mettre du c# sur un thread vb. J’aurais pas du.

Merci pour vos différentes interventions. Malheureusement n’ayant aucune connaissance du C# ton code, Glop, ne m’est d’aucune utilité.

[quote=« GloP, post:5, topic: 31499 »]Mais jamais ca marche ca en Vb.net. Ou alors j’ai mal pige la question et on est en plein langage de script pabo B)

Et 30 textbox sur une form… tu commences a approcher de la limite du beurk quand meme B)

Enfin le mieux, en .Net, c’est de faire un truc du genre… Je te le met en C#, tu te le porte en VB.Net

foreach(Control c in [MaForm].Controls) { Textbox bobox = c as TextBox; if (bobox != null && bobox.Name.StartsWith("Textbox")) bobo.Text = string.Empty; }
ou un truc du genre…[/quote]

En fait, il te donne juste l’algorithme, a toi de l’adapter a ton langage :smiley:

Dans l’idée, tu parcours la liste des controles de ta form (ta fenetre)
pour chaque controle, tu test si c’est une textbox (il le fait via un cast-puis un !=null puis par le nom)
et il definit que le text de ta textbox (si s’en est une) vaut String.empty (rien quoi).

Apres, quid de la faisabilité en VBA, aucune idée, n’etant pas du tout connaisseur.

Quoi qu’il en soit, le gros du code est ici : [MaForm].Controls

JB

Allez, comme je suis pas comme ca, je te donne la version vb :

For Each c as Control In [MaForm].Controls Textbox bobox = c as TextBox If bobox <> Nothing And bobox.Name.StartsWith("Textbox") Then bobox.Text = string.Empty EndIf Next

Enfin, je dis que c’est la version VB, j’en sais rien en fait, j’ai jamais fait de VB de ma life, mais en quelques secondes de recherche google, on peut trouver des trucs utiles

hum, il parlait pas de VB.net, mais de VBA.

En VBA:

Dim bobox As Control For Each bobox In Me.Controls If TypeName(bobox) = "TextBox" And Left(bobox.Name, 4) = "Text" Then bobox.Text = "" End If Next

Duffy

Ah ? Je me suis laissé induire en erreur par le [VB 2005]. Je pensais pas qu’il y avait encore un interet a faire du VBA :confused: Comme quoi, quand on conait pas, on ferait mieux de s’abstenir B)

Merci à tous pour vos différentes interventions et particulèrement à AnA-l pour ton approche didactique B)
Dès que j’ai un moment je teste les solutions proposées par Bishop et Duffy. Je viens d’apprendre un paquet de petits trucs mine de rien!