Bonjour tout le monde,
Une variante:
Sub Macro1()
Dim dl%, dc%, i%, col%, cel As Range
Application.ScreenUpdating = False '....................................Désactive le rafraichissement de l'écran
With Sheets("Feuil1") '.................................................agit sur cette feuille uniquement
dl = .Range("A" & Rows.Count).End(xlUp).Row '..........................dernière ligne en fonction de la colonne A
dc = .UsedRange.Columns.Count '........................................dernière colonne utilisée
.Range(.Cells(3, 2), .Cells(dl, dc)).Interior.Color = xlNone '........supprime les couleurs de la colonne 2 à la dernière
For i = 3 To dl '....................................................boucle de la ligne 3 à la dernière
Set cel = .Rows(i).Find(What:="B") '................................Recherche B sur la ligne
If Not cel Is Nothing Then '......................................si B trouvé
col = cel.Column '..............................................on récupère le n° de la colonne
.Range(.Cells(i, col), .Cells(i, dc)).Interior.Color = vbRed '..colore en rouge
End If
Next i '.............................................................prochaine ligne
End With
End Sub
Cordialement,