Boucle For (je pense)

Résolu
Solomein Messages postés 30 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 2 août 2010 - 15 avril 2010 à 09:10
Solomein Messages postés 30 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 2 août 2010 - 15 avril 2010 à 09:32
Salut à tous! Alors voilà je débute en VB6 et j'ai un petit soucis (rien de bien méchant) je voudrais comprendre ce que je n'ai pas fait. J'ai ceci:
Text1 = List1.List(0)
Text2 = List1.List(1)
Text3 = List1.List(2)
Text4 = List1.List(3)
Text5 = List1.List(4)
Text6 = List1.List(5)
Text7 = List1.List(6)
Text8 = List1.List(7)
Text9 = List1.List(8)
Text10 = List1.List(9)
Text11 = List1.List(10)
Text12 = List1.List(11)
Text13 = List1.List(12)
Text14 = List1.List(13)
Text15 = List1.List(14)

Et bien que cela marche ça me prend de la place au niveau de mon code (inutilement à mon avis). Alors j'ai essayé de changer en cela:

For i = 1 To 15
Text(i) = List1.List(i - 1)
Next i

Maaaaais bien sur ça ne marche pas car j'ai du oublier de déclarer une variable (ou fais une grosse faute dans mon code). Seulement, bien que j'ai cherché une bonne syntaxe sur le net je n'ai pas trouvé la réponse à mon problème, c'est pourquoi je m'adresse à vous directement!
Merci d'avance!
Cordialement.

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
15 avril 2010 à 09:21
Salut,

Fais un groupe de contrôle : même nom mais avec un index différent, ainsi tu pourras faire ta boucle :

Renomme tout tes contrôles Text1, Text2, etc. en "Text" et attribue leur un index.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
3
cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
15 avril 2010 à 09:23
Ce code marche a une condition :

si Text est un tableau de textbox contenant dans l'ordre tes textbox de text à text15.
mais je pense que ce n'est pas le cas ^^

il faut boucler sur les controles du formulaire ou du control parent (groupbox, panel)
for each Control ctrl in Me.Controls

ensuite si le controle est de type Textbox et que son nom (propriété Name) commence par "Text" alors tu extrais du nom le numéro que tu convertis en Int
3
Solomein Messages postés 30 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 2 août 2010
15 avril 2010 à 09:23
Oki merci de cette rapidité! ^^ je test et si c'est bon je valide!
0
Solomein Messages postés 30 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 2 août 2010
15 avril 2010 à 09:32
Merci à vous deux ça marche!!!! Voilà un cap de franchi : la boucle For ^^.
Je vous remercie d'autant plus que je n'attendais pas de réponses aussi rapidement :).
Bonne prog à vous!
0
Rejoignez-nous