Merci Cotty.
J'ai trouvé cette macro qui fonctionne très bien
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim I As Integer 'déclare la variable I (Incrément)
Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
DL = O.Cells(Application.Rows.Count, 4).End(xlUp).Row 'définit la dernière ligne éditée Dl de la colonne 4 (=D) de l'onglet O
For I = DL To 1 Step -1 'boucle inversée de la dernière ligne DL à la première
'si la cellule ligne I colonne 4 (=D) est égale à "BONJOUR" (sans tenir compte de la casse) rajoute une ligne au-dessous
If UCase(O.Cells(I, 4).Value) = "BONJOUR" Then Rows(I).Copy Rows(I + 1)
Next I 'prochaine ligne de la boucle
End Sub