Rompre des liaisons dans plusieurs fichiers Excel
Résolu/Fermé
TaoQian
Messages postés
10
Date d'inscription
vendredi 4 janvier 2013
Statut
Membre
Dernière intervention
3 décembre 2014
-
2 déc. 2014 à 08:38
TaoQian Messages postés 10 Date d'inscription vendredi 4 janvier 2013 Statut Membre Dernière intervention 3 décembre 2014 - 3 déc. 2014 à 08:34
TaoQian Messages postés 10 Date d'inscription vendredi 4 janvier 2013 Statut Membre Dernière intervention 3 décembre 2014 - 3 déc. 2014 à 08:34
A voir également:
- Excel supprimer liens externes
- Liste déroulante excel - Guide
- Supprimer une page word - Guide
- Supprimer compte instagram - Guide
- Si et excel - Guide
- Supprimer les doublons excel - Guide
2 réponses
redaiwa
Messages postés
351
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
25 janvier 2024
119
2 déc. 2014 à 12:05
2 déc. 2014 à 12:05
Salam TaoQian.
Une solution (parmi d'autres?) consiste en ce qui suit (j'explique en détail pour ceux qui n'ont pas l'habitude du VBA):
1- Crée un dossier dans lequel tu mettras uniquement tes fichiers cibles (qui contiennent les liens externes)
2- Ouvre un nouveau classeur excel.
3- Appuie sur ALT+F11 pour ouvrir l'éditeur VBA.
4- Dans la fenêtre qui s'ouvre, tu vois s'afficher à gauche de l'écran le nom du nouveau fichier que tu viens d'ouvrir (par exemple Classeur1). Sous ce nom, il y a "ThisWorkbook", double-clique dessus.
5- Dans la partie gauche de l'écran (grand espace vide), colle le code suivant :
6- Appuie sur ALT+F11 pour revenir au classeur.
7- Enregistre le classeur en lui donnant comme nom "RompreLesLiens.xlsm".
Peut importe le nom pourvu qu'il soit avec l'extension ".xlsm" qui prend en charge les macros. Mets-le dans le même dossier que les fichiers cibles.
8- Ferme le classeur.
Ces étapes sont à faire une seule fois pour toutes.
Maintenant, à chaque fois que tu génères tes fichiers cibles contenant les liens, mets-les dans le dossier créé à l'étape 1, puis ouvre le fichier "RompreLiensExternes.xlsm" qui se chargera de rompre les liens de tous les classeurs du dossier.
J'espère avoir été assez clair et surtout avoir répondu à ta question.
:-D
Une solution (parmi d'autres?) consiste en ce qui suit (j'explique en détail pour ceux qui n'ont pas l'habitude du VBA):
1- Crée un dossier dans lequel tu mettras uniquement tes fichiers cibles (qui contiennent les liens externes)
2- Ouvre un nouveau classeur excel.
3- Appuie sur ALT+F11 pour ouvrir l'éditeur VBA.
4- Dans la fenêtre qui s'ouvre, tu vois s'afficher à gauche de l'écran le nom du nouveau fichier que tu viens d'ouvrir (par exemple Classeur1). Sous ce nom, il y a "ThisWorkbook", double-clique dessus.
5- Dans la partie gauche de l'écran (grand espace vide), colle le code suivant :
Private Sub Workbook_Open()
Dim Rep As String, Fichier As String
Dim wb As Workbook
Rep = ThisWorkbook.Path & "\"
Fichier = Dir(Rep)
Do While Fichier <> "" And Fichier <> ThisWorkbook.Name
Set wb = Workbooks.Open(Rep & Fichier)
liens = wb.LinkSources
If Not IsEmpty(liens) Then
For i = 1 To UBound(liens)
MsgBox liens(i)
wb.BreakLink Name:=liens(i), Type:=xlExcelLinks
Next i
End If
wb.UpdateLinks = xlUpdateLinksNever
wb.Saved = True
wb.Save
wb.Close
Fichier = Dir
Loop
End Sub
6- Appuie sur ALT+F11 pour revenir au classeur.
7- Enregistre le classeur en lui donnant comme nom "RompreLesLiens.xlsm".
Peut importe le nom pourvu qu'il soit avec l'extension ".xlsm" qui prend en charge les macros. Mets-le dans le même dossier que les fichiers cibles.
8- Ferme le classeur.
Ces étapes sont à faire une seule fois pour toutes.
Maintenant, à chaque fois que tu génères tes fichiers cibles contenant les liens, mets-les dans le dossier créé à l'étape 1, puis ouvre le fichier "RompreLiensExternes.xlsm" qui se chargera de rompre les liens de tous les classeurs du dossier.
J'espère avoir été assez clair et surtout avoir répondu à ta question.
:-D
TaoQian
Messages postés
10
Date d'inscription
vendredi 4 janvier 2013
Statut
Membre
Dernière intervention
3 décembre 2014
3 déc. 2014 à 08:34
3 déc. 2014 à 08:34
Bonjour,
J'ai réessayé ce matin dans MSOffice 2010 et là ça marche.
Merci
J'ai réessayé ce matin dans MSOffice 2010 et là ça marche.
Merci
2 déc. 2014 à 16:53
Merci pour cette réponse ; l'explication est effectivement claire.
Seul soucis c'est que je travaille avec Excel 2003, et tu parles peut être d'une version plus récente.
;-)