je n'arrive pas à modifier ce code pour que ça détecte le texte recherché dans une case où il y a plusieurs texte dans la même case,
une fonction du type "contient" :
Sub couleur_brassage()
Dim dl As Integer, dc As Integer, i As Integer
Dim rg As Range, c As Range
Dim pr As Range, val As Range
Set pr = Sheets("Chantier").Range("B39:B47") 'plage de critères
With Sheets("Brassage")
'dl = .Range("A" & Rows.Count).End(xlUp).Row 'dernière ligne utilisée de la colonne A
dl = .UsedRange.Rows.Count 'dernière ligne utilisée de la feuille 2
'dc = .Cells(1, Cells.Columns.Count).End(xlToLeft).Column 'dernière colonne utilisée de la ligne 1
dc = .UsedRange.Columns.Count 'dernière colonne utilisée de la feuille 2
Set rg = .Range(.Cells(1, 1), .Cells(dl, dc)) 'plage de recherche (de A1 à dernière ligne/dernière colonne)...à adapter
For Each c In rg 'pour chaque cellule de la plage
Set val = pr.Find(c.Value, LookIn:=xlValues, lookat:=xlWhole) 'recherche valeur cellule de feuil2 dans plage feuil1
If Not val Is Nothing Then
c.Interior.ColorIndex = val.Interior.ColorIndex 'si valeur trouvée, couleur de la cellule trouvée
Else
c.Interior.ColorIndex = xlNone 'si pas trouvée, aucune couleur
End If
Next c
End With
End Sub