Rompre des liaisons dans plusieurs fichiers Excel
Résolu
TaoQian
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
TaoQian Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
TaoQian Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Rompre les liaisons excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide
2 réponses
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
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.
;-)