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

XL 2013 VBA qui supprime une partie des liaisons dans un fichier

onyirimba

XLDnaute Occasionnel
Supporter XLD
Bonjour,
J'ai un fichier qui est lié à 4 autres fichiers Excel par des liaisons:
Suivi Variation IBE VBA TEST TEST 1.xlsm
Suivi Variation IBE VBA TEST TEST 2.xlsm
Suivi Variation IBE VBA TEST TEST 3.xlsm
Suivi Variation IBE VBA TEST TEST 4.xlsm

J'ai essayé le codage VBA ci-dessous pour supprimer uniquement les liens des fichiers Suivi Variation IBE VBA TEST TEST 1.xlsm et Suivi Variation IBE VBA TEST TEST 2.xlsm
mais cela ne fonctionne pas (voir capture d'écran ci-dessous)
Est-ce que vous pouvez m'aider ?

Merci beaucoup de votre aide.
Cordialement.


 
Solution
Bonjour
2 liens dans ton fichier : le 2 et Le 5

Ci joint une macro qui supprime ces deux lien uniquement
J'ai mis des message ( que tu supprimeras par la suite) qui t'indique :
1/ les liens existants dans ce fichier .
2/ les liens effectivement supprimés

VB:
Sub Macro1()
    If Not IsEmpty(ActiveWorkbook.LinkSources(xlExcelLinks)) Then
            For Each X In ActiveWorkbook.LinkSources(xlExcelLinks)
            MsgBox "lien dans ce fichier : " & X
            If X Like "*" & "Suivi Variation IBE VBA TEST TEST 2.xlsm" & "*" = True Or X Like "*" & "Suivi Variation IBE VBA TEST TEST 5.xlsm" & "*" = True Then
                MsgBox " Suppression de : " & X
                ActiveWorkbook.BreakLink Name:=X, Type:=xlExcelLinks...

JM27

XLDnaute Barbatruc
Bonjour
Pas testé

VB:
Sub Macro1()
    If Not IsEmpty(ActiveWorkbook.LinkSources(xlExcelLinks)) Then
            For Each X In ActiveWorkbook.LinkSources(xlExcelLinks)
            If X.Name = "Suivi Variation IBE VBA TEST TEST 1.xlsm" or X.Name = "Suivi Variation IBE VBA TEST TEST 2.xlsm" Then
                ActiveWorkbook.BreakLink Name:=X, Type:=xlExcelLinks
            End If
        Next
    End If
End Sub
 

onyirimba

XLDnaute Occasionnel
Supporter XLD
Bonjour,

la macro s'arrête lors de l'exécution
est-ce que vous pouvez regarder ?
J'ai joint un fichier illustratif
Merci d'avance
Cordialement

 

Pièces jointes

  • Classeur1.xlsm
    15.3 KB · Affichages: 4
Dernière édition:

JM27

XLDnaute Barbatruc
Bonjour
2 liens dans ton fichier : le 2 et Le 5

Ci joint une macro qui supprime ces deux lien uniquement
J'ai mis des message ( que tu supprimeras par la suite) qui t'indique :
1/ les liens existants dans ce fichier .
2/ les liens effectivement supprimés

VB:
Sub Macro1()
    If Not IsEmpty(ActiveWorkbook.LinkSources(xlExcelLinks)) Then
            For Each X In ActiveWorkbook.LinkSources(xlExcelLinks)
            MsgBox "lien dans ce fichier : " & X
            If X Like "*" & "Suivi Variation IBE VBA TEST TEST 2.xlsm" & "*" = True Or X Like "*" & "Suivi Variation IBE VBA TEST TEST 5.xlsm" & "*" = True Then
                MsgBox " Suppression de : " & X
                ActiveWorkbook.BreakLink Name:=X, Type:=xlExcelLinks
            End If
        Next
    End If
End Sub
nota: tu n'as pas recopié l'intégralité de la macro ( il faut la laisser boucler sur tous les liens)
De plus comme tu n'avais pas posté de fichier , la macro proposée ne fonctionnait pas.
D'où l'importance de fournir un fichier représentant ton pb.
 

Pièces jointes

  • liens.xlsm
    16.2 KB · Affichages: 5

onyirimba

XLDnaute Occasionnel
Supporter XLD
merci
je regarde
 

onyirimba

XLDnaute Occasionnel
Supporter XLD
Bonjour,

Cela fonctionne parfaitement
Merci beaucoup
 

Discussions similaires

Réponses
2
Affichages
424
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…