Variable dans une variable

vzedvzed Messages postés 4 Date d'inscription samedi 18 août 2007 Statut Membre Dernière intervention 19 août 2007 - 18 août 2007 à 23:31
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 - 19 août 2007 à 19:11
Bonjour,

comment executer une variable entreposée dans une autre variable ?

merci!

8 réponses

vzedvzed Messages postés 4 Date d'inscription samedi 18 août 2007 Statut Membre Dernière intervention 19 août 2007
18 août 2007 à 23:34
...j'ai oublié...  en vb.net
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
19 août 2007 à 00:16
J'ai peur que tu ne veuille acéder à une variable, dont le nom est dans une variable String ? C'est ca ?
Et bien si oui, VB.NET n'a pas de solution, ce n'st pas comme en Lisp.
Enfin, sous certaine condition, à savoir travail avec des objets, ca pourrait être faisable en VB.NET.
Mais brut de fonderie, je dis ... pas possible.
0
vzedvzed Messages postés 4 Date d'inscription samedi 18 août 2007 Statut Membre Dernière intervention 19 août 2007
19 août 2007 à 06:31
tres bien, je vais le faire autrement, merci pour la reponse rapide.


Domage que ce ne soit pas possible


a bientot
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 août 2007 à 10:50
D'un autre coté, je n'en vois pas trop l'interet non plus.

Ta variable dois déjà exister dans le code pour pouvoir l'utiliser. Si elle existe tu en conais le nom, tu peux mettre celui-ci en dur sans passer par une autre variable.

Enfin, perso, depuis le temps ou je code et quelque soit le langage, je n'ai jamais ressenti le besoin d'un tel dispositif.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vzedvzed Messages postés 4 Date d'inscription samedi 18 août 2007 Statut Membre Dernière intervention 19 août 2007
19 août 2007 à 18:08
voici le contexte,

J'ai 10 textbox (textbox1, textbox2 etc)
x est incrementé de 1 a 10

j'aurais aimé donner une valeur aux differents textbox dans une boucle

x = 1
do while x < 11
   textbox(x).text = (une valeur assiciée a x)
   x = x + 1
loop

pour contourner, comme ma boucle n'a que 10 loop, je l'ai donc codé 10 fois.... c'est pas tres jolie, mais ca fonctionne

il y a certainement une solution en vb.net... mais telle que mentionné en rubrique... "débutant"  :-)

Claude
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 août 2007 à 18:17
"...il y a certainement une solution en vb.net..."

Les groupes de controles. Mais comme ils n'existent plus en .Net il faut passer par une liste ou une collection

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
19 août 2007 à 18:52
Salut à tous

pouvez vous nous montrer l'alterative (10 lignes) ?
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 août 2007 à 19:11
Déclaration de la liste en variable globale de la feuille :
Dim ListTextBox as New List(Of TextBox)

Chargement de la liste dans le form load de la feuille (en supposant que les textbox existent déjà sur la feuille)
For i as integer = 1 to 10
    ListTextBox.Add(Me.Controls("TextBox" & i))
Next

Ensuite dans le code, il suffit d'utiliser la liste comme on utiliserait un groupe de controle en VB6, par exemple :
        x = 1
        Do While x < 11
            ListTestBox(x - 1).Text = "une valeur associée a " & x
            x = x + 1
        Loop

Pour une utilisation occasionnelle (ou même une seule fois), il est possible de ne pas utiliser la liste et d'accèder aux textbox en utilisant la collection Controls de la feuille (Me.Controls("TextBox" & i)).
Mais si l'accès de cette sorte doit etre fait régulièrement et à plusieurs endroit du code, il est plus propre et plus souple d'utiliser une liste typée

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
Rejoignez-nous