Je suis en train de plancher sur une carte de France dont les départements seraient colorés de manière plus ou moins intense en fonction d'une valeur dans un tableau.
J'ai trouvé dans ce forum moultes infos qui m'ont bien fait avancer.
J'ai rencontré un soucis avec les couleurs utilisées par "SchemeColor", probablement car je développe mon truc sous 2007 et le sauvegarde en 2003 (compatibilité oblige avec mes collègues).
J'essaies donc d'utiliser les couleurs RGB pour avoir plus de précision.
sachant que "Dept.Offset(0, 6).Value" me retourne la valeur "RGB(226, 0, 0)"
ça ne fonctionne pas
quand je clique sur debug pour voir l'erreur, c'est bien cette ligne qui est en cause, et quand je positionne la souris sur "Dept.Offset(0, 6).Value", j'obtiens bien la valeur voulue, mais elle est entre guillemets... ça peut être ça le soucis ?
J'espère que j'ai pas été trop confus et que vous pourrez m'aider
Re : Shape RGB = "" run-time error 13 - Type mismatch - Carte de France
Bonjour apnart,
Je ne sais pas si je serai d'une grande utilité mais...
Je pense que le problème viens du fait que Dept.Offset(0, 6).Value renvoi un texte.
Quand tu l'utilise c'est comme si tu faisais
Code:
Selection.ShapeRange.Fill.ForeColor.RGB = "Toto"
Donc pour utiliser une variable il serai préférable que ta cellule renvoi un chiffre. Ensuite on peux imaginer quelque chose comme:
Code:
X = Dept.Offset(0, 6).Value
y = Dept.Offset(0, 7).Value
Z =Dept.Offset(0, 8).Value
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(x, y, z)
Re : Shape RGB = "" run-time error 13 - Type mismatch - Carte de France
Salut apnart et le forum
quand je clique sur debug pour voir l'erreur, c'est bien cette ligne qui est en cause, et quand je positionne la souris sur "Dept.Offset(0, 6).Value", j'obtiens bien la valeur voulue, mais elle est entre guillemets...
Re : Shape RGB = "" run-time error 13 - Type mismatch - Carte de France
Je me permet de poursuivre sur ce fil...
C'est tout bon pour la coloration de mes départements.
Maintenant j'ai ajouté les noms des départements par dessus la carte (toujours en format dessin). J'ai nommé ces "textbox" avec le n° du département, et j'aimerais pouvoir changer la couleur de la font utilisée en fonction de la couleur d'arrière plan...
Bref, je voudrais faire comme pour le fond :
Code:
For Each DeptFond In Feuil4.Range("A3:A98")
ActiveSheet.Shapes(DeptFond.Value).Select
RGBx = DeptFond.Offset(0, 5).Value
RGBy = DeptFond.Offset(0, 6).Value
RGBz = DeptFond.Offset(0, 7).Value
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(RGBx, RGBy, RGBz)
Next DeptFond
Mais je ne trouve pas de syntaxe pour la couleur du texte ...
Re : Carte de France - Couleur département + couleur texte
En enregistrement d'une nouvelle macro puis modifier la couleur du texte d'un Shape, ça donne quoi ?
C'est vrai qu'avec les Select engendrés sur ce genre d'objet on ne sait plus toujours très bien à quoi s'appliquent les propriétés...
.TextFrame.Characters.Font.Color parait cohérent quoique bien compliqué. Je me demande si vous ne feriez pas mieux de travailler avec des contrôles Label
Je me demande aussi par ailleurs si vous ne seriez pas intéressé par les calculs de couleurs effectué dans ma petite appli.
À+
Re : Carte de France - Couleur département + couleur texte
POur ce qui est des calculs de couleurs, j'ai une fonction qui me fait ça pas trop mal dans les tableaux, je ne pense pas en avoir besoin, mais merci quand même ;-)
Re : Carte de France - Couleur département + couleur texte
J'ajoute à propos des labels, qu'effectivement, tous les départements comme mes boites texte son nommées (pour le texte je fais 1 test sur uniquement 3 départements)
Re : Carte de France - Couleur département + couleur texte
Possible qu'en sélectionnant un Shape contenant du texte, ce soit déja son TextFrame qui se retrouve selectionné en fait, lequel n'a pas d'autre propriété TextFrame. Donc:
Selection.Characters.Font.Color ou bien
MonShape.TextFrame.Characters.Font.Color
Bonne soirée.