Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Police en couleur dans zone de texte

papy 73 ans

XLDnaute Occasionnel
Bonjour à tous,
J'ai une zone de texte associée à une cellule.
Je désirerai que selon le texte qui s'affiche dans cette zone texte il soit mis en couleur.
à savoir :
Supprimer cette personne de l'annuaire : police en rouge et gras.
Pour mise à jour police : en bleu et en gras.
Je ne sais si c'est faisable.
En vous remerciant.
 

Jacky67

XLDnaute Barbatruc
Bonjour à tous
Une piste par vba
VB:
Sub couleur()
    With Feuil1.Shapes("LeNom")  ' **A adapter**
        .TextFrame.Characters.Font.Bold = True
        If .TextFrame.Characters.Text = "Supprimer cette personne de l'annuaire" Then  '**ou cellule**
            .TextFrame.Characters.Font.ColorIndex = 3
        Else
            .TextFrame.Characters.Font.ColorIndex = 5
        End If
    End With
End Sub
 

patricktoulon

XLDnaute Barbatruc
bonjour papy 73 ans

je me demande pourquoi tu teste la présence de cdo activé dans les références alors que dans ta fonction message tu crée ton cdo en latebinding ???
allez hop!! on fait sauter une 50 aine de ligne
 

Jacky67

XLDnaute Barbatruc
Bonjour Jacky,
Merci de me répondre.
Lorsque s'affiche le texte : Supprimer cette personne de l'annuaire, la police ne passe pas en rouge
RE..
J'avoue ne pas comprendre le fonctionnement de ce classeur..
Pour changer la couleur, la syntaxe serait pour le rouge
Feuil1.Shapes("Text Box 746").TextFrame.Characters.Font.ColorIndex = 3
pour le bleu
Feuil1.Shapes("Text Box 746").TextFrame.Characters.Font.ColorIndex = 5
Eventuellement placer le code dans la macro "Sub CfnChoix()"
Désolé, je cède la main
 

job75

XLDnaute Barbatruc
Bonjour le fil, le forum,

Tout bon ??? Faut pas être trop difficile papy !!!

La formule =$AD$2 dans la barre de formule de la Zone de Texte et la formule en AD2 sont inutiles, supprimez-les.

Et ajoutez à la fin de la macro Worksheet_Change :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
'-----'
    With Shapes("Text Box 746").TextFrame.Characters
        .Text = "": .Font.ColorIndex = xlAutomatic
        If [AA2] = "Sup" Then .Text = "Personne à supprimer de l'annuaire": .Font.ColorIndex = 3 'rouge
        If [AA2] = "Maj" Then .Text = "Pour Mise à jour de l'annuaire": .Font.ColorIndex = 5 'bleu
    End With
End Sub
Cela dit il est pour le moins inopportun que les messages s'affichent à chaque modification d'une cellule !!!

Bonne journée.
 

papy 73 ans

XLDnaute Occasionnel
Bonjour job75
Tu me dis : Cela dit il est pour le moins inopportun que les messages s'affichent à chaque modification d'une cellule !!!
Tu as entièrement raison, mais comment limiter seulement au nom et prénom
En te remerciant
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…