Re,
Sans fichier pas facile de trouver une solution.
Essaie d'exécuter cette macro (le fichier excel doit être ouvert). Pas sûr que ce code marche pour Excel 2004.
Cette routine va t'indiquer si une cellule contient une référence circulaire.
Sub cherch_ref_circu()
Dim sh As Byte, i As Long, j As Long, derlig As Long, dercol As Integer, tablo
For sh = 1 To Sheets.Count
Sheets(sh).Activate
If Not Cells.Find("*", , , , xlByRows, xlPrevious) Is Nothing Then
derlig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
dercol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
ReDim tablo(1 To derlig, 1 To dercol)
tablo = Range(Cells(1, 1), Cells(derlig, dercol)).FormulaR1C1
For i = 1 To derlig
For j = 1 To dercol
If tablo(i, j) Like "*RC*" Or tablo(i, j) Like "*RC" & j & "*" Or _
tablo(i, j) Like "*R" & i & "C*" Or tablo(i, j) Like "*R" & i & "C" & j & "*" Then
Cells(i, j).Select
MsgBox "La cellule " & Cells(i, j).Address(RowAbsolute:=False, columnabsolute:=False) & " de la feuille " & Sheets(sh).Name & " contient une référence circulaire.", vbCritical
End If
Next j
Next i
End If
Next sh
End Sub