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

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

JBARBE

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

Discussions similaires

Réponses
2
Affichages
184
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…