Mettez en évidence des mots contenus dans une plage de cellules.
Lorsque l’on sélectionne une ou plusieurs cellules, il est possible de mettre la police de la valeur contenue dans ces cellules dans une couleur choisie;
Il est possible également de mettre dans une certaine couleur un ou plusieurs mots contenu dans cette cellule. Pour cela, il suffit de sélectionner le mot et choisir sa police.
Ce que je vous propose dans ce billet, c’est de le faire à l’aide d’une procédure VBA.
Le code de la procédure
Sub CharacterColor(AreaText As Range, TextColoring As String, Optional RGBCode As Long = vbRed, Optional ResetColor As Boolean = True) ' Procédure de mise en évidence des mots dans une plage de cellules ' Author : http://Philippe.Tulliez.be ' Date : 15/12/2015 ' Version : 1.1 ' Arguments ' AreaText (Range) Plage de cellules à l'intérieur de laquelle les mots seront mis en évidence ' TextColoring (String) Liste des mots séparés par un ';' à mettre en évidence ' [RGBCode] (Numérique) Code (RGB) de la couleur qui mettra les mots en évidence (d:vbRed (rouge)) ' [ResetColor] (Boolean) Efface la couleur de la plage AreaTexte (d:True) Dim Cel As Range, nbWord As Integer, tbl() As String, Start As Integer If ResetColor Then AreaText.Font.Color = 0 ' Efface la mise en forme précédente TextColoring = LCase(TextColoring) tbl = Split(TextColoring, ";") For Each Cel In AreaText For nbWord = 0 To UBound(tbl) Start = InStr(LCase(Cel), tbl(nbWord)) Do While Start Cel.Characters(Start, Len(tbl(nbWord))).Font.Color = RGBCode Start = InStr(Start + 1, LCase(Cel), tbl(nbWord)) Loop Next Next End Sub
Exemple d’une procédure d’appel
Sub TestCharacterColor() Const SheetName As String = "Textes" ' Nom de la feuille où se trouve les textes à mettre en forme Const RangeAddress As String = "A2:A4" ' Plage de cellules où se trouve les textes à mettre en forme Const WordList As String = "raison;trop;le" ' Liste des mots qui doivent être mis en évidence Dim rng As Range Set rng = ThisWorkbook.Worksheets(SheetName).Range(RangeAddress) CharacterColor rng, WordList End Sub
Liens
Je vous conseille la lecture de ce tutoriel : Les couleurs en VBA Excel: Les équivalences Hex-Long-RGB
MERCI je suis arrivé par votre explications VBA excel a aimé la progrmation malgre mon age 59 ans
Bonjour,
Il n’y a pas d’âge pour apprendre.
Ravi d’avoir pu vous aider à appréhender ce sujet.