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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| Option Explicit
Option Private Module
Sub ListerRéferences()
' Liste les références du Projet du classeur actif
'
Const nomMsg$ = "Lister les références"
Const errWbk$ = "Ouvrir un classeur avant d'éxécuter cette commande."
Const errRef$ = "Ce classeur ne contient aucune reference."
'
Dim wbkCible As Excel.Workbook 'Classeur à examiner
Dim wbkRapport As Excel.Workbook 'Rapport
Dim cell As Excel.Range 'Cellule rapport
Dim références As VBIDE.References 'Collection des références
Dim référence As VBIDE.Reference 'Référence
'Vérifier le classeur
If Application.ActiveWorkbook Is Nothing Then
MsgBox errWbk, vbCritical, nomMsg
Exit Sub
End If
Set wbkCible = Application.ActiveWorkbook
'Vérifier la collection de références
Set références = wbkCible.VBProject.References
If références Is Nothing Then
MsgBox errRef, vbCritical, nomMsg
Exit Sub
End If
'Ajouter le rapport
Set wbkRapport = Application.Workbooks.Add(xlWBATWorksheet)
Set cell = wbkRapport.Worksheets(1).Range("A1")
cell.Offset(, 1).Formula = "Fichier"
cell.Offset(1, 1).Formula = "Chemin"
cell.Offset(, 2).Formula = wbkCible.Name
cell.Offset(, 2).Font.Bold = True
cell.Offset(1, 2).Formula = wbkCible.Path
Set cell = cell.Offset(3)
'Titres de colonne
cell.Offset(, 0).Formula = "Name"
cell.Offset(, 1).Formula = "IsBroken"
cell.Offset(, 2).Formula = "FullPath"
cell.Offset(, 3).Formula = "GUID"
cell.Offset(, 4).Formula = "Minor"
cell.Offset(, 5).Formula = "Major"
cell.Offset(, 6).Formula = "BuiltIn"
cell.Offset(, 7).Formula = "Description"
cell.CurrentRegion.Font.Bold = True
Set cell = cell.Offset(1)
'Lister les propiétes des références
For Each référence In références
On Error Resume Next
cell.Offset(, 0).Formula = référence.Name
cell.Offset(, 1).Formula = référence.IsBroken
cell.Offset(, 2).Formula = référence.FullPath
cell.Offset(, 3).Formula = référence.GUID
cell.Offset(, 4).Formula = référence.Minor
cell.Offset(, 5).Formula = référence.Major
cell.Offset(, 6).Formula = référence.BuiltIn
cell.Offset(, 7).Formula = référence.Description
On Error GoTo 0
Set cell = cell.Offset(1)
Next référence
cell.CurrentRegion.EntireColumn.AutoFit
End Sub |
Partager