IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Changer la couleur de la police dans une zone texte [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ergonome
    Inscrit en
    Décembre 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Décembre 2015
    Messages : 31
    Par défaut Changer la couleur de la police dans une zone texte
    Bonjour,

    J'ai commencé à faire un code pour changer la couleur de la police dans une zone texte, en fonction de la valeur d'une autre cellule se trouvant sur une autre feuille

    Pour être plus clair

    Si ma cellule "E6" de la feuille "chiffre" est inférieur à 1 (car pourcentage), alors la couleur de la police dans la zone texte (Texte box 1) de la feuille est rouge, sinon noir.

    J'ai mis en rouge dans le code, ce que je ne sais pas faire

    Merci de votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    
    Sub Changercouleur()
    '
    ' Changercouleur Macro
    '
    
    '
        if
        
        Sheets("chiffre").Select
        Range("E7").Select < 1
        
        
        Then
        
        ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
       
        With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorAccent2
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0
            .Transparency = 0
            .Solid
        
        Sinon
        
        ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
        
        With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorText1
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0.150000006
            .Transparency = 0
            .Solid
        
        End With
      
    End Sub

  2. #2
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    Bonjour,
    le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If Range("E7") < 1 Then
        Sheets("chiffre").TextBox1.ForeColor = RGB(255, 0, 0)
    Else
        Sheets("chiffre").TextBox1.ForeColor = 0
    End If

  3. #3
    Membre averti
    Homme Profil pro
    Ergonome
    Inscrit en
    Décembre 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Décembre 2015
    Messages : 31
    Par défaut
    Le code ne marche pas, j'ai aussi corrigé E7 par E6

    Je pense qu'il doit y avoir un prob au niveau reconnaissance de la zone texte que excel définie par un truc du gene
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
    Je met le fichier tout simple, ça peut aider

    http://www.cjoint.com/c/ELkhKyVhpbx

    Merci

    Le code marche pas, il ne doit pas manquer grand chose

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    Sub Changercouleur()
    '
    ' Changercouleur Macro
     
     
     
        Sheets("chiffre").Range("E6").Select < 1 Then
     
        ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
     
        With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorAccent2
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0
            .Transparency = 0
            .Solid
     
        Else
     
        ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
     
        With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorText1
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0.150000006
            .Transparency = 0
            .Solid
     
        End With
      End If
    End Sub
    C'est le signe inférieur qui pose déja problème

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Tu as la réponse dans ton autre fil

  5. #5
    Membre averti
    Homme Profil pro
    Ergonome
    Inscrit en
    Décembre 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Décembre 2015
    Messages : 31
    Par défaut Le code marche presque mais encore un petit souci
    Il change la couleur en rouge (sans doute parce que c'est supérieur à 1) comme je le souhaite.

    Par contre si ma valeur après est supérieur à 1 elle reste rouge et ne redevient pas noir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
     
    Sub Changercouleur()
     
    '
    ' Changercouleur Macro
     
    Dim cellule
    cellule = Sheets("chiffre").Range("E6")
     
    If cellule < 1 Then
     
        ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
     
        With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorAccent2
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0
            .Transparency = 0
            .Solid
        End With
     
    Else
     
        ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
     
        With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorText1
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0.150000006
            .Transparency = 0
            .Solid
     
        End With
      End If
    End Sub

  6. #6
    Membre averti
    Homme Profil pro
    Ergonome
    Inscrit en
    Décembre 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Décembre 2015
    Messages : 31
    Par défaut Désolé, ca marche, mais je dois faire executer la macro pour que cela fonctionne
    Citation Envoyé par clementmarcotte Voir le message
    Tu as la réponse dans ton autre fil
    Comment je dois faire pour que cela s'execute automatiquement ?

    Je dois affecter la macro à ma zone texte ?

    Je dois rajouter une ligne refresh ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Changer la couleur de la police dans un DBRichEdit
    Par Dudule89 dans le forum Langage
    Réponses: 2
    Dernier message: 16/02/2013, 17h08
  2. Changer la couleur d'un mot dans une richtxtbox
    Par Lostincode dans le forum C#
    Réponses: 4
    Dernier message: 12/07/2012, 15h40
  3. Changer la couleur de la sélection dans une Trackbar
    Par Kindersurpriz dans le forum Langage
    Réponses: 3
    Dernier message: 18/08/2008, 08h08
  4. Réponses: 7
    Dernier message: 29/06/2008, 12h57
  5. forcer le curseur à ce positionner dans une zone texte
    Par caton dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 08/04/2005, 14h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo