You don't need the loop
Code:
Sub NonBreakSpace()
Const strFR As String = "<(et)> <(al)>|\1^s\2"
Dim i As Long
Options.DefaultHighlightColorIndex = wdTurquoise
With ActiveDocument.Range.Find
.ClearFormatting
.Replacement.ClearFormatting
.Replacement.Highlight = True
.Text = strFR
.Forward = True
.Wrap = wdFindStop
.MatchWildcards = True
.Text = Split(strFR, "|")(0)
.Replacement.Text = Split(strFR, "|")(1)
.Execute Replace:=wdReplaceAll
End With
End Sub