XL 2016 Changelink Excel qui ne fonctionne pas ;(

Alexsimps

XLDnaute Nouveau
Bonsoir à tous,

Je tente désespérément de faire des changelink sur plusieurs fichiers en liaisons, mais ça ne fonctionne pas...

Je vous explique :
Dans deux fichiers modèles, j'ai des formules qui ont des liaisons dans certaines colonnes.
Je dois copier ces formules (en ajoutant des colonnes) dans un autre fichier qui contient les données à exploiter.

Avant de copier les formules, pour gagner du temps, je réalise les changelink qui vont bien.
Les changelink se réalisent, sans erreur déclenchée, mais rien ne change ;(

Une idée ? en PJ, le code que j'utilise.

Mes variables sont bien alimentées avec des noms de fichiers qui existent...

Merci d'avance de votre aide.

Alexsimps

VB:
Sub Liaisons_externe(WB As Workbook)
Dim Alinks As Variant
Dim I As Long

Alinks = WB.LinkSources(xlExcelLinks)
If Not IsEmpty(Alinks) Then
    For I = 1 To UBound(Alinks)
        'MsgBox "Link " & I & ":" & Chr(13) & Alinks(I)

        If InStr(1, Alinks(I), "DSN_COT_Modele.xlsx") > 0 Then
            WB.ChangeLink Alinks(I), wsMaitre.Range("FichierDSNCOT").Value, xlLinkTypeExcelLinks
            
        ElseIf InStr(1, Alinks(I), "DSN_COT_E") > 0 Then
            WB.ChangeLink Name:=Alinks(I), newname:=wsMaitre.Range("FichierDSNCOT").Value, Type:=xlLinkTypeExcelLinks
            
        ElseIf InStr(1, Alinks(I), "ENEFPS01_BD021_Modele.xlsx") > 0 Then
            WB.ChangeLink Alinks(I), wsMaitre.Range("FichierENEFP").Value, xlLinkTypeExcelLinks
            
        ElseIf InStr(1, Alinks(I), "ENEFPS01_BD021_E") > 0 Then
            WB.ChangeLink Alinks(I), wsMaitre.Range("FichierENEFP").Value, xlLinkTypeExcelLinks
            
         ElseIf InStr(1, Alinks(I), "DSN_CC_") > 0 Then
            WB.ChangeLink Alinks(I), wsMaitre.Range("FichierLiaison1").Value, xlLinkTypeExcelLinks
            
         ElseIf InStr(1, Alinks(I), "_PP_CF COLL DIFF DE @-fr_") > 0 Then
            WB.ChangeLink Alinks(I), wsMaitre.Range("FichierLiaison2").Value, xlLinkTypeExcelLinks
            
         ElseIf InStr(1, Alinks(I), "_go_stop_enefp_") > 0 Then
            WB.ChangeLink Alinks(I), wsMaitre.Range("FichierLiaison3").Value, xlLinkTypeExcelLinks
            
         ElseIf InStr(1, Alinks(I), "Export_ContexteDSNGlobal_") > 0 Then
            WB.ChangeLink Alinks(I), wsMaitre.Range("FichierLiaison4").Value, xlLinkTypeExcelLinks
            
         ElseIf InStr(1, Alinks(I), "Réf._formules_") > 0 Then
            WB.ChangeLink Alinks(I), wsMaitre.Range("FichierLiaison5").Value, xlLinkTypeExcelLinks
            
        End If
        
    Next
End If

End Sub
 

Discussions similaires

Réponses
4
Affichages
209

Statistiques des forums

Discussions
312 199
Messages
2 086 161
Membres
103 148
dernier inscrit
lulu56