Remplacer une liaison par VB

Résolu

Bonjour le forum

Mon fichier Excel comporte une liaison vers un autre fichier, variable.

J'ai écrit une macro me permettant d'ouvrir ce fichier variable, je cherche à présent à remplacer la liaison existante par la nouvelle, mais Excel ne comprend pas mes variables (Incompatibilité de type)


Voici mon code :

Sub Test()

Dim Ancien As Variant
Dim Nouveau As Variant
Ancien = ActiveWorkbook.LinkSources

Nouveau = Application.GetOpenFilename(, , "Sélectionner")

Workbooks.Open filename:=Nouveau
MsgBox (Nouveau)

ActiveWorkbook.ChangeLink Name:=Ancien, NewName:=Nouveau, Type:=xlExcelLinks

MsgBox (nom_fichier)

End Sub

Quelle erreur je commets ?

Par avance merci pour votre aide !

4 réponses

  1. Bonsoir,

    ci-dessous code

    Sub Test()
        Dim liaisons()
        Dim Ancien As String
        Dim Nouveau As String
        
        liaisons = ActiveWorkbook.LinkSources(xlExcelLinks)
    
        Ancien = liaisons(1)
        Nouveau = Application.GetOpenFilename(, , "Sélectionner")
        
        ActiveWorkbook.ChangeLink Name:=Ancien, NewName:=Nouveau, Type:=xlExcelLinks
    
    End Sub
    

    1
    1. Bonjour

      un p'tit UP

      Merciii !

      0
      1. Bonjour Thev

        Merci beaucoup, ça fonctionne impecc.

        J'ai compris la méthode, c'est malin.

        Encore merci et bonne soirée, je marque en résolu.

        0