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

    un p'tit UP

    Merciii !

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