Private mFactiv As Worksheet
Sub FeuilActive()
Set mFactiv = Worksheets(ActiveSheet.Name)
End Sub
Sub ColoriageText(Doublon() As Variant, Zone As Plage)
' https://cafeine.developpez.com/access/tutoriel/regexp/
'http://dedeuf.free.fr/Faq/php/exp_regulieres.htm
''''' http://www.loribel.com/info/memento/regex.html
' http://www.loribel.com/info/memento/regex.html
'https://www.lucaswillems.com/fr/articles/25/tutoriel-pour-maitriser-les-expressions-regulieres
' Trouve le Mot Exacte de la chaine !
'Il faut substitué cette ligne par cette ligne :
'qui fonctionne en local sur la feuille active.
'*** ------------------------------------------------------------------------------
' Instancie les variables !
' Cocher la case à côté de "Microsoft VBScrit Regular Expressions 5.5" à inclure dans votre classeur.
Dim reg As VBScript_RegExp_55.RegExp
Dim Match As VBScript_RegExp_55.Match
Dim Matches As VBScript_RegExp_55.MatchCollection
'*** ------------------------------------------------------------------------------
' Tableaux des expression reguliéres !!
Tabqts = Doublon
' Phrase rechercher dans excel ici cellule B1!!
Dim Phrase As String
For Boucl = Zone.LignDepart To Zone.LigneFin
Phrase = mFactiv.Cells(Boucl, 1)
'*** ------------------------------------------------------------------------------
For i = LBound(Tabqts) To UBound(Tabqts)
' instanciation
Set reg = New VBScript_RegExp_55.RegExp
' A-1. Les propriétés.
' -------------------
reg.Pattern = Tabqts(i)
' Active ou non la recherche sur plusieurs lignes à la fois / La propriété est mise sur False par défaut / Multiline (booléen).
reg.MultiLine = False
' Précise si la recherche est sensible ou non à la casse (majuscules/minuscules) / La propriété est mise sur False par défaut / IgnoreCase (booléen).
reg.IgnoreCase = False
' Précise si la recherche porte sur la première occurence ou sur toutes / La propriété est mise sur False par défaut.
reg.Global = True
' A-2. Les méthodes.
' -----------------
'le .Test renvoie True si le motif défini en Pattern est trouvé dans la chaîne / Test (validation).
'MsgBox reg.Test(Phrase)
'*** ------------------------------------------------------------------------------
' Cette méthode permet d'explorer les occurences qui vérifient le Pattern / Execute (exploration).
' Resultat
If reg.Test(Phrase) = True Then
Set Matches = reg.Execute(Phrase)
For Each Match In Matches
Debug.Print "source >>", Match.Value
' For j = 0 To Match.SubMatches.Count - 1
' Debug.Print "[$" & j + 1 & "]", Match.SubMatches(j)
' Next j
' cellule c1 = Cells(1, 3)
' couleur du texte
mFactiv.Cells(Boucl, 1).Characters(Start:=Match.FirstIndex, Length:=Match.Length + 1).Font.FontStyle = "Gras"
mFactiv.Cells(Boucl, 1).Characters(Start:=Match.FirstIndex, Length:=Match.Length + 1).Font.Color = -16776961
'Cells(1, 3) = Cells(1, 3) & (Match.Value) & vbCrLf
Next Match
' si trouvé sort de la boucle
Exit For
End If
Next i
Next Boucl
End Sub