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

XL 2010 Colorier un mot

  • Initiateur de la discussion Initiateur de la discussion Foie4
  • 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 !

Foie4

XLDnaute Junior
Bonjour à tous,
Je n'arrive pas à trouver sur ce forum ou ailleurs comment
colorier simplement (sans VBA macro) un mot dans une phrase.
par exemple chocolat en rouge, vacances en vert etc...
merci
 

Pièces jointes

Bonjour à tous, job, Foie,
Je me demande à quoi va servir ta demande compte tenu que celle-ci demande de tenir compte de la position différente et du nom différent des mots colorés !
De fait, cette demande qui me parait insurmontable même en VBA
Bon courage !
Bonne journée !
 
Bonsour®
Bonjour à tous,
Je n'arrive pas à trouver sur ce forum ou ailleurs comment
colorier simplement (sans VBA macro) un mot dans une phrase.
par exemple chocolat en rouge, vacances en vert etc...
merci
sans VBA ... impossible !
une formule renvoie une valeur mais ne change pas, le style ou aspect de la donnée.

en VBA il faudrait d'abord définir une liste exhaustive des mots à considérer...
sinon cela s'appelle de la divination 😎
 
Dernière édition:
Bonsoir le fil

[aparté]
Bonsour®
sans VBA ... impossible !
une formule renvoie une valeur mais ne change pas, le style ou aspect de la donnée.
Une formule classique, non...
VB:
Sub test()
Range("A1:A4") = Application.Transpose(Array(1, 2, 3, 4))
[A6].Formula = "=UDF_SUM(A1:A4)"
End Sub

Public Function UDF_SUM(v As Variant)
'Jon Peltier
  If TypeName(v) = "Range" Then
    Debug.Print v.Address
    v.Font.Color = vbRed ' not supposed to, but does
    v = v.Value
  End If
  Dim i As Long, j As Long
  For i = LBound(v, 1) To UBound(v, 1)
    For j = LBound(v, 2) To UBound(v, 2)
      UDF_SUM = UDF_SUM + v(i, j)
    Next
  Next
  Application.Caller.Font.Color = vbBlue ' not supposed to, but does
End Function
[/aparté]
 
De fait, cette demande qui me parait insurmontable même en VBA
Bah voyez le fichier joint et cette macro :
VB:
Sub Colorier()
Dim P As Range, c1 As Range, coul&, L%, c2 As Range, i%, j%
Application.ScreenUpdating = False
Set P = [A1].CurrentRegion.Offset(1) 'évite l'en-tête
P.Font.ColorIndex = xlAutomatic 'RAZ
P.Font.Bold = False 'RAZ
For Each c1 In [D2:D4]
    coul = c1.Characters(1, 1).Font.Color
    L = Len(c1)
    For Each c2 In P
        i = 1
        Do
            j = InStr(i, c2, c1)
            If j Then
                c2.Characters(j, L).Font.Color = coul
                c2.Characters(j, L).Font.Bold = True 'gras
                i = j + L
            End If
        Loop While j
Next c2, c1
End Sub
 

Pièces jointes

 
Dernière édition:
Oui en utilisant la MFC comme suit :
Sélectionner la zone de recherche
Saisir dans : Accueil>Mise en Forme Conditionnelle > Règles de mise en surbrillance des cellule > Texte qui contient => la valeur Chocolat
et c'est OK
 

Pièces jointes

Tu crois vraiment ce que tu dis JBARBE ??? Alors sur mon fichier copie A2:A10 sur A11:A9001 et fais le boulot à la mano !

Chez moi la macro s'exécute en 1,2 seconde.
Je veux parler de la colonne D dans ton fichier qui doit être impérativement renseignée pour ta macro ( on ne peut faire autrement) qui, entre parenthèse est super !
Bonne journé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
19
Affichages
621
Réponses
12
Affichages
282
Réponses
3
Affichages
368
  • Question Question
Réponses
6
Affichages
318
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…