Action sur plusieurs textbox qui portent quasi le même nom

Signaler
Messages postés
20
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
5 juin 2008
-
Messages postés
20
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
5 juin 2008
-
Salut à tous (et à toute)

je suis devant un piti problème (comme tous ceux qui mettent un message sur le forum, vous me direz) mais là, je bute

Voilà

J'ai plusieurs textbox qui portent toutes presque le même nom : TextBoxBaseTS1, TextBoxBaseTS2, TextBoxBaseTS3..... au nombre de 10

et j'aurai savoir s'il y avait la possibilté avec un for de 1 à 10 de leur faire faire la même action

alors, j'ai bien essayé avec mes vieilles habitudes de php, de faire un truc du style TextBoxBaseTS(i) avec i qui varie, enfin bref, ça marche

j'ai maté 2-3 forums qui m'ont parlé de me.controls(...) ou même de la propriété tag mais j'arrive po

alors s'il ya une ame charitable qui passe par là et qui veux bien m'aider sur ce coup là.... (ou m'expliquer le tag et j'me debrouillerai)

merci d'avance

4 réponses

Messages postés
20
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
5 juin 2008
1
Ah oui, c'est sous VB express, suis bête, z'l'ai po dit
Messages postés
20
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
5 juin 2008
1
Z'va essayer ça et j'vous dirai quoi :


Mettre les 20 TextBox dans un tableau:

Créer les textbox suivantes: TextBox0, TextBox1,...

'En haut du module
Dim Textes(19) As TextBox

'puis dans le form_load
Textes(0) = TextBox0
Textes(1) = TextBox1
Textes(2) = TextBox2
...

'ensuite, on peut bien utiliser la syntaxe de VB 6.0

Dim i As integer
For i = 0 To 19
Dim MyTexte As Integer= Textes(i).Text
..
Next

Noter qu'on a créer un tableau de TexBox, si on utilise un tableau d'objet, il faut caster l'objet en textbox pour utiliser sa propriété text:



Dim Textes(19) As Object

Textes(1) = TextBox1

Textes(2) = TextBox2

...

Dim i As Integer

For i = 1 To 2

Dim MyTexte As String = CType(Textes(i), TextBox).Text

Next
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Sous VB Express, donc VB2005 Express (ou VB2008 Express).

Effectivement en .Net les groupes de controles (et donc les controles indexés) n'existent plus. Une solution serait de mettre les controles manuellement dans une collection et de les appelés à travers les éléments de la collection.

Ceci dit, sur ta feuille, il existe déjà une collections des controles, il s'agit de Me.Controls, et tu peux très bien utiliser tes controles à travers cette collection.

Dans ton cas :

For i as integer = 1 to 10
    Me.Controls("TextBoxBaseTS" & i.ToString).Text = "Banzaï"
Next

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
20
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
5 juin 2008
1
J'lai fait avec la méthode du Panel, ça fonctionne sans problème. -->http://plasserre.developpez.com/v3-9.htm
Merci Casy