XL 2010 Colorier un mot

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

  • Colorier mot.xlsx
    8.8 KB · Affichages: 30

JBARBE

XLDnaute Barbatruc
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 !
 

Modeste geedee

XLDnaute Barbatruc
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 :cool:
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
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é]
 

job75

XLDnaute Barbatruc
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

  • Colorier mot(1).xlsm
    17.7 KB · Affichages: 30

JBARBE

XLDnaute Barbatruc
Bah voyez le fichier joint et cette macro :
Bonsoir tous, Job
Désolé il n'a pas été précisé par Foie4 qu'il y avait une colonne D avec les mots à colorier ( d'ailleurs je n'en vois pas l'utilité pour cette demande) !
En effet, Il est plus facile de colorier à la main la colonne A que d'inscrire les mots dans une autre colonne !
De fait, avec une seconde colonne representant les mots coloriés, VBA évidemment peut faire le nécessaire comme tu l'as fait !
Bonne soirée à tous !
 
Dernière édition:

Teophile

XLDnaute Nouveau
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

  • MFC-texte.xlsx
    8.9 KB · Affichages: 18

Discussions similaires

Réponses
2
Affichages
155

Statistiques des forums

Discussions
312 175
Messages
2 085 953
Membres
103 058
dernier inscrit
florentLP