je rencontre un problème dans mon traitement de fichiers Excel.

Je sais que j'ai des liens externes résiduels dans un fichier que je manipule. Aussi j'aurais souhaité pouvoir les virer avec la méthode proposée dans la
http://excel.developpez.com/faq/?page=Liaisons

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
 Dim Nom As String, objWorkbook As Workbook, TabLiaison As Variant, cmpt As Long
    Dim objWorksheet As Worksheet, objRange As Range
 
    Set objWorkbook = Application.Workbooks.Open(Application.GetOpenFilename, UpdateLinks:=0)
    TabLiaison = objWorkbook.LinkSources(xlExcelLinks)
    If IsEmpty(TabLiaison) Then Exit Sub
    For cmpt = LBound(TabLiaison) To UBound(TabLiaison)
        objWorkbook.ChangeLink TabLiaison(cmpt), objWorkbook.FullName, xlLinkTypeExcelLinks
    Next cmpt
    For Each objWorksheet In objWorkbook.Worksheets
        Do
            Set objRange = objWorksheet.CircularReference
            If Not objRange Is Nothing Then objRange.Value = objRange.Value
        Loop While Not objRange Is Nothing
    Next objWorksheet
Mon problème est que lors de l'exécution de la ligne ChangeLink, j'ai une erreur 1004 'invalid reference' (la fameuse qui pointe sur tout et rien à la fois)...

En mettant un avertissement à faux j'ai toujours l'erreur, et en passant outre avec un On Error Resume Next, le lien n'est pas mis à jour...

Quelqu'un aurait-il déjà rencontré ce problème et si oui comment l'a-t-il contourné/résolu ?