Changer la couleur du texte d'un shape (zone de texte)

Bonsoir à tous,

J'espère que vous allez bien et je vous remercie par avance pour toute l'aide que vous nous apporter chaque jour. On ne vous le dit jamais assez.

Mon petit problème :

J'ai fait un genre de speedomètre et j'ai trouver une macro pour faire tourner une aiguille faite avec des formes. Ca fonctionne nickel.

Dans ce speedomètre je dois afficher le pourcentage de réalisation d'un chantier. J'ai donc fait une zone de texte par "insertion" "zone de texte". Elle s'appelle "ZoneTexte 36"

Par macro je dois donc dire que :

- La zone de texte doit être égale à la cellule nommée "Valeur_Aiguille" (cellule AM389) mais comme elle est en % je dis ".text "et non ".value". Ca à l'air de fonctionner.

-Si la valeur de la cellule "Valeur_Aiguille" est inférieure à 80, le texte de la zone de texte doit s'afficher en vert.

-Si la valeur de la cellule "Valeur_Aiguille" est supérieure 80 et inférieure à 90, le texte de la zone de texte doit s'afficher en orange.

-Si la valeur de la cellule "Valeur_Aiguille" est supérieure 90, le texte de la zone de texte doit s'afficher en rouge.

C'est là que ça coince. J'ai fait plein de recherches mais tout mes essais ne fonctionne pas. Certains parlent de textframe, d'autre de textframe2 ; de colorindex, d'autres fill.forecolor, d'autres de .charactère, encore d'autre de OLeFormat...... J'y comprend strictement rien !

Et si par bonheur vous arriviez à faire en sorte que mon aiguille se bloque à 100 % sur mon speedomètre si la valeur de "Valeur_Aiguille" dépasse les 100 % ce sera magnifique.

Pour plus de compréhension à mon fichier : en i1 c'est le temps maximum que doit durer le chantier. De A7 à AB270, c'est là que sont comptabilisées les heures effectuées (mais j'ai fait un raccourci en cellule Q363 ( là je simule les heures effectuées pour faire les essais).

J'espère ne rien avoir oublié...

Merci.

Bonsoir,

Ceci:

Sub Graphique_Heures()
    Dim S As Shape
    Set S = ActiveSheet.Shapes("ZoneTexte 36")
    If Range("Valeur_Aiguille").Value > 0 And Range("Valeur_Aiguille").Value < 0.8 Then
        ActiveSheet.Shapes("ZoneTexte 36").TextFrame.Characters.Caption = Range("Valeur_Aiguille").Text
        S.TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(0, 255, 0)
    ElseIf Range("Valeur_Aiguille").Value >= 0.8 And Range("Valeur_Aiguille").Value < 0.9 Then
        ActiveSheet.Shapes("ZoneTexte 36").TextFrame.Characters.Caption = Range("Valeur_Aiguille").Text
            S.TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(255, 125, 0)
    ElseIf Range("Valeur_Aiguille").Value >= 0.9 Then
        ActiveSheet.Shapes("ZoneTexte 36").TextFrame.Characters.Caption = Range("Valeur_Aiguille").Text
        S.TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(255, 0, 0)
    End If

    ActiveSheet.Shapes.Range(Array("AIGUILLE")).Select
    If Range("Valeur_aiguille").Value > 1 Then
        Selection.ShapeRange.Rotation = 240
    Else
        Selection.ShapeRange.Rotation = Range("Valeur_aiguille").Value * 240
    End If
    ActiveSheet.Shapes("Button 12").Select
End Sub

Cdlt

Oh merci tout fonctionne nickel !!!!!

Merci merci merci ! ! ! Je vais enfin pouvoir dormir la nuit

Rechercher des sujets similaires à "changer couleur texte shape zone"