Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…