Evaluer une variable

  • Initiateur de la discussion Initiateur de la discussion golden
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

golden

XLDnaute Nouveau
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
 
Re : Evaluer une variable

Bonsoir Golden,

Cela vient peut être de la définition de ta variable "rouge" et/ou "couleur"! Non?

Le plus simple serait de prendre l'autre codification des couleurs (au lieu de prendre RGB), non?

Rouge = 3
Bleu = 5
Jaune = 6
Vert = 10
Rose = 7

Sinon, merci d'envoyer un extrait de ton fichier, qu'on essaye notre solution dessus, cela nous permet ainsi de te donner une réponse juste et vérifiée 😉

Bonne soirée
 
Re : Evaluer une variable

Bonsoir Golden, Exel Lent

en supposant la "case ad hoc" la cellule A1, et une "textbox" de la boite à outils controles présente sur la "Feuil1", regarde le code ci dessous si cela peut t'aider :

Code:
Option Explicit
Sub test()
Dim couleur As Long
If Range("A1").Value = "rouge" Then
    couleur = RGB(255, 0, 0)
    ElseIf Range("A1").Value = "bleu" Then couleur = RGB(0, 0, 255)
    ElseIf Range("A1").Value = "vert" Then couleur = RGB(0, 255, 0)
Else
    couleur = RGB(255, 0, 255)
End If
Feuil1.TextBox1.BackColor = couleur
End Sub

bonne soirée
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
367
Réponses
4
Affichages
486
Réponses
0
Affichages
276
Réponses
3
Affichages
569
Retour