Re,
Même si les remarques de MaFraise sont très pertinentes (notamment sur le fait d'éviter les multiples duplicatas), je vous remet ci-après la macro avec la coloration des lignes comme demandé.
J'ai simplement ajouté la ligne ci-dessous. (voyez que la couleur sera un poil différente car le canal alpha (transparence) que vous avez modifié n'est pas pris en charge), mais bon vous voyez comment modifier par vous-même dans la fonction "RGB".
Range(.Cells(i + 1, 1), .Cells(i + 1, 21)).Interior.Color = RGB(0, 176, 240)
Macro complète :
Sub DupliquerLignes2()
Application.ScreenUpdating = False
Dim i As Long: i = 2
With ThisWorkbook.Worksheets("Feuil1")
Do While .Cells(i, 1) <> vbNullString
If Replace(.Cells(i, 21).Value2, " ", vbNullString) <> vbNullString Then
Range(.Cells(i + 1, 1), .Cells(i + 1, 21)).Insert xlShiftDown
Range(.Cells(i, 1), .Cells(i, 21)).Copy Range(.Cells(i + 1, 1), .Cells(i + 1, 21))
Range(.Cells(i + 1, 1), .Cells(i + 1, 21)).Interior.Color = RGB(0, 176, 240)
i = i + 1
End If
i = i + 1
Loop
End With
Application.ScreenUpdating = True
End Sub