Bonjour,
J'essaye d'écrire une application qui donne aux utilisateurs la possibilité de dessiner des formes sur une feuille excel, en rentrant dans une liste excel les paramètres des formes voulues, par exemple les coordonnées, les dimensions, le texte, la couleur, etc...
Ainsi, si dans la feuille une ligne contient les valeurs suivantes:
5 5 25 50 "hello world" "rouge"
je veux obtenir une textbox avec le coin en haut à gauche aux coordonnées 5,5, avec une largeur de 25 pixels et une hauteur de 50 pixels, contenant le texte "hello world".
Jusque là tout va bien. Je gère également la police, sa taille, l'orientation, le souligné, etc.
Le problème vient pour la couleur. Je voudrais que l'utilisateur puisse mettre par exemple "rouge" dans la case ad hoc pour signifier la couleur de remplissage, ou du texte.
J'ai donc défini des variables ayant la forme suivante:
rouge = rgb(255,0,0)
Le problème survient lorsque je parcours mon tableau pour dessiner les boites.
Mon code VBA ressemble à ceci:
boite.gauche = sheets(1).cells(i,1).value
boite.haut=sheets(1).cells(i,2).value
...
boite.texte=sheets(1).cells(i,5).value
boite.remplissage=sheets(1).cells(i,6).value
Pour les valeurs numériques ou textuelles, il n'y a pas de problème, mais boite.remplissage contient la chaine "rouge", plutot que la valeur numérique 255 (le résultat de rgb(255,0,0)).
J'ai essayé d'utiliser la fonction Evaluate, mais ca ne marche pas.
par exemple:
couleur = ["rouge"] ===> "rouge"
et
couleur = evaluate("rouge") ===> Error 2029
Quelqu'un a-t-il une idée pour résoudre ce problème ?
Merci,
Christopher
J'essaye d'écrire une application qui donne aux utilisateurs la possibilité de dessiner des formes sur une feuille excel, en rentrant dans une liste excel les paramètres des formes voulues, par exemple les coordonnées, les dimensions, le texte, la couleur, etc...
Ainsi, si dans la feuille une ligne contient les valeurs suivantes:
5 5 25 50 "hello world" "rouge"
je veux obtenir une textbox avec le coin en haut à gauche aux coordonnées 5,5, avec une largeur de 25 pixels et une hauteur de 50 pixels, contenant le texte "hello world".
Jusque là tout va bien. Je gère également la police, sa taille, l'orientation, le souligné, etc.
Le problème vient pour la couleur. Je voudrais que l'utilisateur puisse mettre par exemple "rouge" dans la case ad hoc pour signifier la couleur de remplissage, ou du texte.
J'ai donc défini des variables ayant la forme suivante:
rouge = rgb(255,0,0)
Le problème survient lorsque je parcours mon tableau pour dessiner les boites.
Mon code VBA ressemble à ceci:
boite.gauche = sheets(1).cells(i,1).value
boite.haut=sheets(1).cells(i,2).value
...
boite.texte=sheets(1).cells(i,5).value
boite.remplissage=sheets(1).cells(i,6).value
Pour les valeurs numériques ou textuelles, il n'y a pas de problème, mais boite.remplissage contient la chaine "rouge", plutot que la valeur numérique 255 (le résultat de rgb(255,0,0)).
J'ai essayé d'utiliser la fonction Evaluate, mais ca ne marche pas.
par exemple:
couleur = ["rouge"] ===> "rouge"
et
couleur = evaluate("rouge") ===> Error 2029
Quelqu'un a-t-il une idée pour résoudre ce problème ?
Merci,
Christopher