FRYS
XLDnaute Nouveau
Bonjour à tous
J'utilise un classeur assez vieux, rempli de noms obsolètes, faisant référence à #REF! ou à d'autres classeurs innaccessibles
pour vérifier que ca ne génère pas d'erreur dans les calculs (et accessoirement néttoyer sans risque toutes ces vielles références) j'aimerais pouvoir retrouver - si il y en a - les cellules dépendantes des cellules nommées obsolètes
Malheureusement, j'ai besoin d'un objet de type RANGE pour utiliser "dependents"
j'ai bien essayer le code si-dessous, mais j'ai une erreur 1004
PS : j'avais aussi essayé avec "Set Cellule = WS.Cells.Find(nm.Name, LookIn:=xlFormulas " mais come certains noms utilise une suite de caractère très commune, j'ai beaucoup de déchets dans les résultats.
Merci de votre aide
Sub Repérage_dependants_noms()
Dim WS As Worksheet
Dim nm As Name
Dim Cellule As Range
Dim inc As Integer
inc = 1
For Each nm In ActiveWorkbook.Names
If InStr(nm.RefersTo, "#REF") Then
For Each WS In ActiveWorkbook.Sheets
nm.RefersToRange.Dependents.Select
For Each Cellule In Selection
Worksheets(1).Cells(inc, 7).Value = nm.Name
Worksheets(1).Cells(inc, 8).Value = WS.Name
Worksheets(1).Cells(inc, 9).Value = Cellule.Address
inc = inc + 1
Next
Next WS
End If
Next nm
End Sub
J'utilise un classeur assez vieux, rempli de noms obsolètes, faisant référence à #REF! ou à d'autres classeurs innaccessibles
pour vérifier que ca ne génère pas d'erreur dans les calculs (et accessoirement néttoyer sans risque toutes ces vielles références) j'aimerais pouvoir retrouver - si il y en a - les cellules dépendantes des cellules nommées obsolètes
Malheureusement, j'ai besoin d'un objet de type RANGE pour utiliser "dependents"
j'ai bien essayer le code si-dessous, mais j'ai une erreur 1004
PS : j'avais aussi essayé avec "Set Cellule = WS.Cells.Find(nm.Name, LookIn:=xlFormulas " mais come certains noms utilise une suite de caractère très commune, j'ai beaucoup de déchets dans les résultats.
Merci de votre aide
Sub Repérage_dependants_noms()
Dim WS As Worksheet
Dim nm As Name
Dim Cellule As Range
Dim inc As Integer
inc = 1
For Each nm In ActiveWorkbook.Names
If InStr(nm.RefersTo, "#REF") Then
For Each WS In ActiveWorkbook.Sheets
nm.RefersToRange.Dependents.Select
For Each Cellule In Selection
Worksheets(1).Cells(inc, 7).Value = nm.Name
Worksheets(1).Cells(inc, 8).Value = WS.Name
Worksheets(1).Cells(inc, 9).Value = Cellule.Address
inc = inc + 1
Next
Next WS
End If
Next nm
End Sub