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.


1648054905756.png
 
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
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
1648117696918.png

1648112097727.png
 

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

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.
merci
je regarde
 
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.
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
187
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
861
Retour