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. 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
    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