Sub Liens()
Dim chemin$, lig&, fichier$, w As Worksheet, P As Range, tablo, t, x$
chemin = "C:\Mes fichiers\" 'à adapter
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With ThisWorkbook.Sheets(1) 'le fichier de la macro
.[A:C].Clear
.[C:C].NumberFormat = "@" 'format Texte
.[A1:C1].Font.Bold = True
.[A1] = "Classeur"
.[B1] = "Feuille"
.[C1] = "Formule de liaison donnant une valeur d'erreur"
lig = 2
fichier = Dir(chemin & "*.xls*") '1er fichier du dossier
While fichier <> ""
Workbooks.Open chemin & fichier '1ère ouverture
ActiveWorkbook.SaveLinkValues = False
ActiveWorkbook.Save
Workbooks.Open chemin & fichier '2ème ouverture
For Each w In ActiveWorkbook.Worksheets
Set P = w.UsedRange
tablo = Union(P, P(2)).Formula 'au moins 2 éléments
For Each t In tablo
If Left(t, 1) = "=" Then
If InStr(t, "[") Then
x = Application.ConvertFormula(t, xlA1, xlR1C1)
If IsError(ExecuteExcel4Macro(Mid(x, 2))) Then
.Cells(lig, 1) = fichier
.Cells(lig, 2) = w.Name
.Cells(lig, 3) = t
lig = lig + 1
End If
End If
End If
Next
Next
ActiveWorkbook.Close False 'fermeture du fichier
fichier = Dir 'fichier suivant du dossier
Wend
.Columns.AutoFit
End With
End Sub