For iFld = ActiveDocument.Fields.Count To 1 Step -1
and
With ActiveDocument.Fields(iFld)
limit the scope to the main story range.
Use
Dim prange As Range
Dim iFld As Long
For Each prange In ActiveDocument.StoryRanges
Do Until prange Is Nothing
For iFld = prange.Fields.Count To 1 Step -1
With prange.Fields(iFld)
If .Type = wdFieldDate Then
.Code.Text = Replace(UCase(.Code.Text), _
"DATE", "CREATEDATE")
End If
End With
Next iFld
Set prange = prange.NextStoryRange
Loop
Next
End Sub
In this case, as you are not changing the count of the fields in the
document, there is really no need to go backwards through the fields.

Signature
Hope this helps.
Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.
Doug Robbins - Word MVP
> Hi,
>
[quoted text clipped - 21 lines]
> Loop
> Next
Sammy - 13 Mar 2008 23:27 GMT
Perfect. Thanks a lot
> For iFld = ActiveDocument.Fields.Count To 1 Step -1
>
[quoted text clipped - 51 lines]
> > Loop
> > Next