Excel VBA - Mettre des mots en rouge dans des cellules
Fermé
Matchevall
-
19 nov. 2012 à 14:14
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 19 nov. 2012 à 17:06
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 19 nov. 2012 à 17:06
A voir également:
- Excel VBA - Mettre des mots en rouge dans des cellules
- Formule excel pour additionner plusieurs cellules - Guide
- Verrouiller des cellules excel - Guide
- Liste déroulante excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
2 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
19 nov. 2012 à 17:06
19 nov. 2012 à 17:06
Bonjour,
Si tu as beaucoup de mots ça peut prendre un peu de temps...
https://www.cjoint.com/?BKtrgs80x99
eric
Sub motsCouleur() Dim derlig As Long, lig As Long, p As Long Dim mots As Variant, ptrMots As Long, c As Range Application.ScreenUpdating = False ' création dictionnaire mots = Application.Transpose(Application.Index(Range("A2", [A65000].End(xlUp)).Value, , 1)) ' mise en couleur derlig = Cells(Rows.Count, 2).End(xlUp).Row For Each c In Range("B2", [B65000].End(xlUp)) c.Font.ColorIndex = xlAutomatic For ptrMots = 1 To UBound(mots) p = InStr(LCase(c.Value), LCase(mots(ptrMots))) Do While p > 0 With c.Characters(Start:=p, Length:=Len(mots(ptrMots))) .Font.ColorIndex = 3 End With p = InStr(p + Len(mots(ptrMots)), c, ptrMots, vbTextCompare) Loop Next ptrMots Next c Application.ScreenUpdating = False End Sub
Si tu as beaucoup de mots ça peut prendre un peu de temps...
https://www.cjoint.com/?BKtrgs80x99
eric
Ecam39
Messages postés
286
Date d'inscription
jeudi 12 janvier 2012
Statut
Membre
Dernière intervention
16 mars 2024
9
19 nov. 2012 à 14:24
19 nov. 2012 à 14:24
Tu dois pouvoir bricoler un truc avec des formules texte non ?