Définir tous les contrôles d'un userform en tant que variables dans un tableau (array)

Soyez le premier à donner votre avis sur cette source.

Vue 7 840 fois - Téléchargée 398 fois

Description

il est parfois fastidieux et surtout très long d'écrire
textbox1.value="xxx"
textbox2.value="yyy"
....................
textbox50.value="zzz"
surtout quand les données sont stockées dans un fichier texte
Au lieu de 50 lignes de code, cela peut se faire en 2 ou trois lignes

Source / Exemple :


Private Sub UserForm_Activate()
 Dim designation(1 To 8) As String
 Dim prix(1 To 8) As String
 Dim i As Integer
 
 alltbox = Array("TBox1", "TBox2", "TBox3", "TBox4", "TBox5", "TBox6", "TBox7", "TBox8")
 allmont = Array("mont1", "mont2", "mont3", "mont4", "mont5", "mont6", "mont7", "mont8")
 
 chemin = ActiveWorkbook.Path
 Open chemin + "\composants.txt" For Input As #1
 
 Do While Not EOF(1)
    i = i + 1
    Input #1, designation(i), prix(i)
 Loop
 Close #1
 
 For j = 0 To 7
    Controls(alltbox(j)).Value = designation(j)
    Controls(allmont(j)).Value = prix(j)
 Next j
End Sub

Conclusion :


code sans prétention (...) mais qui peut aider des élèves qui débutent la programmation

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

us_30
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
7 -
Hum... Comme l'idée c'est de simplifier le codage, pourquoi donc passer par un fichier texte qui finalement n'est pas un raccourci. Il aurait été préférable d'écrire les données directement dans une ARRAY, comme pour le reste.

Dans la boucle FOR, on peut directement commencer par zéro...

Initié comme niveau, est pour ma part un peu fort... Toute l'astuce reposant sur "Controls", (sans compter que le code est mal assuré). L'idée est d'ailleurs pas nouvelle, puisque présent dans au moins deux snippets.

Amicalement,
Us.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.