Bonjour
Voici ma problématique, j'aimerai scanner tous les fichiers excel dans un répertoire et pour chacun d'entre eux trouver si des liens externes existent
voici une macro pour trouver tous les fichiers excel d'un répertoire
déja petit hic avec cette première macro, elle ne scanne pas les sous dossier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Sub Listfichier() Dim Dossier As String, Fichier As String, i As Integer Dossier = "C:\Users\RFRO50654\Documents\" i = 0 Fichier = Dir(Dossier) Do While Fichier <> "" i = i + 1 Sheets("Feuil1").Range("A" & i) = Fichier Fichier = Dir Loop End Sub
et la seconde qui trouve les liaisons dans un classeur actif
Y a t'il un moyen de les combiner ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Sub ListLinks() Dim xSheet As Worksheet Dim xRg As Range Dim xCell As Range Dim xCount As Long Dim xLinkArr() As String On Error Resume Next For Each xSheet In Worksheets Set xRg = xSheet.UsedRange.SpecialCells(xlCellTypeFormulas) If xRg Is Nothing Then GoTo LblNext For Each xCell In xRg If InStr(1, xCell.Formula, "[") > 0 Then xCount = xCount + 1 ReDim Preserve xLinkArr(1 To 2, 1 To xCount) xLinkArr(1, xCount) = xCell.Address(, , , True) xLinkArr(2, xCount) = "'" & xCell.Formula End If Next LblNext: Next If xCount > 0 Then Sheets.Add(Sheets(1)).Name = "Link Sheet" Range("A1").Resize(, 2).Value = Array("Location", "Reference") Range("A2").Resize(UBound(xLinkArr, 2), UBound(xLinkArr, 1)).Value = Application.Transpose(xLinkArr) Columns("A:B").AutoFit Else MsgBox "No links were found within the active workbook.", vbInformation, "KuTools for Excel" End If End Sub
(ces macros ne sont pas de moi, je les ai trouvé sur divers forum)
Merci d'avance
Partager