I am trying to figure out how to process properly the Shapes (textboxes) that I have in a given section...
What I want to achieve in the code below is to go into each Shape (textbox) of each header* within the same section and process it (highlight tags).
What actually happens is that the code will not stop there and will process all shapes (even in the footer) before going to the next header and section.
What am I doing wrong here? It looks like I don't "limit" the execution to the textbox I am working on...
* I know (from another post) that textboxes within headers is an abomination for some of you. I don't want to argue again about it, it only is a fact that I have documents (i.e. converted from PDF) which do have textboxes in headers... 
Dim oSection as Range
Dim oHF as Range
Dim Shp as Shape
Dim oOpenTag as Range
Dim oExtraTag as Range
strOTag="##"
For Each oSection In ActiveDocument.Sections
For Each oHF In oSection.Headers
With oHF
If .LinkToPrevious = False Or oSection.Index = 1 Then 'Header not linked to the previous one
For Each Shp In oHF.Shapes 'Pour chaque boîte trouvée
If Shp.TextFrame.HasText Then the Shape is a textbox
Set oOpenTag = Shp.TextFrame.TextRange 'Whole box
Set oExtraTag = oOpenTag.Duplicate 'Duplicating oTextRng
While InStr(oExtraTag.Text, strOTag) > 0 'Extra opening tag found in oExtraTag. Highlighting tags
With oExtraTag.Find
.Text = strOTag 'opening tag
If .Execute Then 'Find opening tag. oExtraTag is therefore the extra opening tag
oExtraTag.HighlightColorIndex = wdRed 'Highlight opening tag
Set oOpenTag = Shp.TextFrame.TextRange 'Whole box
oOpenTag.Start = oExtraTag.End 'Starting position of oTextRng is now the end of Opening tag
Set oExtraTag = oOpenTag.Duplicate 'Duplicating oTextRng
End If
End With
Wend
End If
Next Shp
End If
End With
Next oHF
Next oSection