Bonjour,
J'ai planché sur une macro pour lister les liaisons d'un répertoire :
Sub ListingLiaisonsFichiers()
'Déclaration des variables utilisées
Dim Wb As Workbook, Wb2 As Workbook
Dim Rep As String, Fichier As String
Dim Lig As Integer, i As Integer
Dim Liaisons As Variant
Application.ScreenUpdating = False 'Désactive l'affichage en temps réel
Application.Calculation = xlCalculationManual 'Désactive le recalcule auto des formules
Set Wb = ThisWorkbook 'Référence du classeur actif
Rep = Wb.Path & "\" 'Répertoire du classeur actif
Fichier = Dir(Rep)
Do While Fichier <> "" 'Parcourir les fichiers
If Fichier Like "*.xls*" And Not Fichier Like "*" & Wb.Name Then 'S'intéresse uniquement aux classeurs Excel, sauf le présent classeur
Set Wb2 = Workbooks.Open(Rep & Fichier, False) 'Ouvre le classeur testé
Liaisons = Wb2.LinkSources(Type:=xlLinkTypeExcelLinks) 'Listing des liaisons
If Not IsEmpty(Liaisons) Then 'Si le listing contient au moins 1 liaison
For i = LBound(Liaisons) To UBound(Liaisons) 'Parcourir les liaisons
With Wb.Sheets(1)
Lig = Lig + 1 'Compteur de ligne (pour savoir où écrire le résultat)
.Cells(Lig, 1) = Fichier 'Ecrit le nom du classeur en colonne 1 de la feuille 1
.Cells(Lig, 2) = Liaisons(i) 'Ecrit le chemin du classeur lié en colonne 2
End With
Next i
End If
Wb2.Close False 'Ferme le classeur testé
End If
Fichier = Dir 'Passe au fichier suivant
Loop
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Voilà le fichier la contenant :
Quelques compléments :
- -> Le fichier listing doit être placé dans le dossier que tu souhaites analyser
- -> Le code ouvre chaque fichier parcouru (je n'ai pas trouvé comment faire sans) et peut donc prendre un peu de temps si le nombre et/ou la taille des fichier est important
- -> Les classeurs du dossier analysé doivent être fermés avant de lancer la macro
- -> Pour chercher l'emplacement exact des liaisons dans un classeur, tu peux utiliser l'utilitaire "Rechercher" (icone de jumelles dans le bandeau d'accueil) et faire une recherche avec
.xls*]
En espérant avoir répondu à ta problématique.