Sub InsLigne()
Dim lg As Long
Dim RefLigne As String, ref1 As String, ref2 As String
With Sheets("Source")
For lg = .Cells(Rows.Count, 1).End(xlUp).Row To 3 Step -1
' Extraction de la refLigne
RefLigne = .Cells(lg, 1)
'
' Extraction en colonne 2 du premier mot après la refLigne
ref1 = Split(Mid(.Cells(lg, 2), Len(RefLigne) + 2, Len(.Cells(lg, 2)) - Len(RefLigne)), " ")(0)
'
' Idem sur la ligne inférieure
ref2 = Split(Mid(.Cells(lg - 1, 2), Len(RefLigne) + 2, Len(.Cells(lg - 1, 2)) - Len(RefLigne)), " ")(0)
'
' Si le mot est différent alors ajouter une ligne au-dessus
If ref2 <> ref1 Then .Cells(lg, 1).Resize(, 2).Insert xlShiftDown
Next
End With
End Sub