Passage du nom de controle en parametre

ced444 Messages postés 4 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 26 juillet 2005 - 25 juil. 2005 à 17:58
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 26 juil. 2005 à 19:12
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

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
25 juil. 2005 à 18:15
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
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
25 juil. 2005 à 19:31
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/
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
25 juil. 2005 à 20:36
Salut,

Ou par la collection Controls :

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

;-)

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
ced444 Messages postés 4 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 26 juillet 2005
26 juil. 2005 à 08:20
Merci à tous pour la rapidité de votre réponse : votre site est super pratique pour les débutant , je vais tester tout ca!!!!
0

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

Posez votre question
ced444 Messages postés 4 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 26 juillet 2005
26 juil. 2005 à 08:36
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
0
ced444 Messages postés 4 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 26 juillet 2005
26 juil. 2005 à 09:41
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+
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
26 juil. 2005 à 19:12
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 !?
0