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.
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