Passage du nom de controle en parametre

Signaler
Messages postés
4
Date d'inscription
lundi 25 juillet 2005
Statut
Membre
Dernière intervention
26 juillet 2005
-
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
-
Bonjour, je souhaiterais savoir s'il existe une astuce du genre

Dim mavariable as String
mavariable=MonLabel
[Mavariable].Text="coucou"
avec MonLabel crée au préalable bien sur...

(un peu comme un shell Unix qui permet d'interpréter les variables en direct via des
caractères spéciaux "$" judicieusement placés)

Si qqu'un à une idée....

(le but est d'automatiser le remplissage d'un formulaire)

D'avance, merci

7 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
En VB6, le plus simple serait de créer des Labels indexés : Tu copies/colles le premier Label et il te demanderas si tu veux créer un tableau avec ce nom de Label : dis-lui oui, il mettra les Index de 0 à x tout seul.
Après, tu n'as plus qu'à utiliser monLabel(x).Caption = "coucou"
Il n'y aura que x qui changera

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
(je
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
130
Ou de passer par des objets :



Dim MaVariable As Object



Set MaVariable = MoNLabel

MaVariable.Caption = "salut"

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
18
Salut,

Ou par la collection Controls :

Dim mavariable as String
mavariable=MonLabel
me.controls(Mavariable).Text="coucou"

;-)

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
Messages postés
4
Date d'inscription
lundi 25 juillet 2005
Statut
Membre
Dernière intervention
26 juillet 2005

Merci à tous pour la rapidité de votre réponse : votre site est super pratique pour les débutant , je vais tester tout ca!!!!
Messages postés
4
Date d'inscription
lundi 25 juillet 2005
Statut
Membre
Dernière intervention
26 juillet 2005

C encore moi,
Résultat des tests :
Jack => je suis en VB.Net avec WebMatrix : lors du copier-coller, il ne propose pas de tableau, il crée en mettant :labelN avec N le plus petit entier non présent sur la page... (ca fonctionne différemment de VB6)

Dark Sidious : en supprimant le "SET" (VB.Net oblige) ca fonctionne nickel !!!!

Dresseur de Puces : erreur de compil : une valeur de type Label ne peut être convertie en 'String' : la encore ca doit fonctionner différemment de VB6

merci encore...

CED444
Messages postés
4
Date d'inscription
lundi 25 juillet 2005
Statut
Membre
Dernière intervention
26 juillet 2005

C tjrs moi,
Cela aurait été trop beau : en fait la solution de Dark Sidious ne fait que repousser le probleme :
l'idée générale :
Sub Remplir_Control(MaVariable As Object)
MaVariable.Text = "salut"
End Sub

=> Remplir_Control(MonLabel)

Ne fonctionne pas : il considere MaVariable comme comme un string et non un label....
(ce qui se concoit puisqu'il ne peut pas savoir à priori le type de "MonLabel")

(bon évidememnt pour un label la manipe est stupide mais pour un DropDownList avec interrogation d'une BDD ca devient nettement plus interessant....)

Au cas ou qqun aurait une idée de génie....
A+
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
18
Salut,

Pas pu tester en vb.net mais ça doit pas être loin.

si MonLabel est le nom de ton contrôle ("label1") ça devrait marcher.
Essaie alors :
Dim mavariable as String
mavariable=MonLabel.Name
me.controls(Mavariable).Text="coucou"

Il y a peut être .item, un tostring, un ctype ou un cstr à mettre quelquepart. Je ne maitrise pas encore vb.net. Mais le truc de la collection Controls fonctionne, je l'ai vu dans un code.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?