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

  • Initiateur de la discussion Initiateur de la discussion onyirimba
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

Dernière édition:
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

merci
je regarde
 
Bonjour,

Cela fonctionne parfaitement
Merci beaucoup
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
72
Affichages
1 K
  • Question Question
Réponses
7
Affichages
188
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
861
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…