Convertir un string en objet ou control

Résolu
funky_kronos Messages postés 2 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 5 mai 2006 - 3 mai 2006 à 23:55
funky_kronos Messages postés 2 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 5 mai 2006 - 5 mai 2006 à 18:28
Bonjour à tous,
J'ai un gros pb, je souhaite ecrire une fcontion qui récupère dans une base de données le nom des controls que j'ai prélablement renseignée.
ex : la table s'appelle AFFICHAGE et j'ai 5 champs
AFFICHAGE_REF, AFFICHAGE_OBJET, AFFICHAGE_PARENT, AFFICHAGE_TYPE qui est renseignée tel que :
1, frmconfiguration, frmconfiguration, Form
2, PnlAffichage, frmconfiguration, Panel
3, LblAffichage, frmconfiguration, Label

Ce qui veut dire que Pnlaffichage est un panel (ou une frame) qui appartient au form Frmconfiguration.
Bon pour ça pas de soucis, là ou ça se complique c'est que je voudrais en parcourant ma table, attribuer des propriétés à ces control ou objets.

je voudrais par exemple éxécuter [frmconfiguration.pnlaffichage.backcolor = strcouleur]

si je met dans une variable
strvar = "frmconfiguration.pnlaffichage"
comment executer cette variable pour pouvoir changer la couleur de fond du control ?

désolé si je ne suis pas clair, et je n'ai trouvé aucun topics là-dessus.

Merci pour votre aide.

3 réponses

clementio Messages postés 432 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 février 2014 1
4 mai 2006 à 08:06
Ce que tu essaies de faire est un peu compliqué mais je peux te donner une piste. Avec le code suivant tu vas passer en revue tous les contrôles de ta Form jusqu'à trouver celui qui t'intéresse grâce à la propriété "Name" et ensuite tu lui attribues son "BackColor":

Dim pControl As Control

For Each pControl In Me.Controls
If pControl.Name = "pnlaffichage" Then
pControl.BackColor = vbRed
End If
Next


J'espère que ça t'aidera, A+ Clm.
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 mai 2006 à 08:28
utilises CallByName

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
funky_kronos Messages postés 2 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 5 mai 2006
5 mai 2006 à 18:28
Mercni beaucoup clementio et renfield.

Je me suis inspiré de la réponse de Clémentio pour faire ce que je voulais et c'est OK.



En tout cas merci de la rapidité de vos réponse.

Cordialement,
0
Rejoignez-nous