Bonjour,
j'ai un fichier "EXEMPLE.xls", dans lequel j'ai plein de liens vers des
fichiers (y'en a 25 en tout) "fiche-A.xls"
Mon Pb, c'est que je travail pour l'instant sur mon poste, et je voudrais
implanté tous ces fichiers sur un autre ordinateur, où les chemins d'accès
sont différents.
Comment faire pour conserver ces liens?
Bonjour, j'ai un fichier "EXEMPLE.xls", dans lequel j'ai plein de liens vers des fichiers (y'en a 25 en tout) "fiche-A.xls"
Mon Pb, c'est que je travail pour l'instant sur mon poste, et je voudrais implanté tous ces fichiers sur un autre ordinateur, où les chemins d'accès sont différents. Comment faire pour conserver ces liens?
"YANN24" <YANN24@discussions.microsoft.com> a écrit dans le message de
news:210D79B5-1498-48B4-9ED2-952EF7D39700@microsoft.com...
Bonjour,
j'ai un fichier "EXEMPLE.xls", dans lequel j'ai plein de liens vers des
fichiers (y'en a 25 en tout) "fiche-A.xls"
Mon Pb, c'est que je travail pour l'instant sur mon poste, et je voudrais
implanté tous ces fichiers sur un autre ordinateur, où les chemins d'accès
sont différents.
Comment faire pour conserver ces liens?
Bonjour, j'ai un fichier "EXEMPLE.xls", dans lequel j'ai plein de liens vers des fichiers (y'en a 25 en tout) "fiche-A.xls"
Mon Pb, c'est que je travail pour l'instant sur mon poste, et je voudrais implanté tous ces fichiers sur un autre ordinateur, où les chemins d'accès sont différents. Comment faire pour conserver ces liens?
Je vous remercie. YANN
MichDenis
Bonjour Yann24,
Voici un exemple consistant à modifier tous les liens d'un classeur avec un autre classeur dont on a modifié le nom.
Ce n'est qu'un exemple. Dans ton cas, qu'est-ce qui va changer ? Seulement le nom ? Le Chemin ? As-tu plusieurs fichiers sources dont le chemin va changer ? Connais-tu à l'avance toutes les modifications de chemin de répertoire pour chaque classeur lié ?
'--------------------------- Sub ModifierLiens()
Dim SourceLiaison à String SourceLiaison = "Test.xls" ' à remplacer
Dim LS, Link, I As Integer LS = LinkSources(xlExcelLinks) For Each Link In LS For I = Len(Link) To 1 Step -1 If Mid$(Link, I, 1) = "" Then Exit For Next I If Mid$(Link, I + 1) = SourceLiaison Then ChangeLink Link, Path & "" & SourceLiaison, xlExcelLinks UpdateLink LinkSources Exit For End If Next End Sub '---------------------------
Salutations!
"YANN24" a écrit dans le message de news:
Bonjour, j'ai un fichier "EXEMPLE.xls", dans lequel j'ai plein de liens vers des fichiers (y'en a 25 en tout) "fiche-A.xls"
Mon Pb, c'est que je travail pour l'instant sur mon poste, et je voudrais implanté tous ces fichiers sur un autre ordinateur, où les chemins d'accès sont différents. Comment faire pour conserver ces liens?
Je vous remercie. YANN
Bonjour Yann24,
Voici un exemple consistant à modifier tous les liens d'un classeur avec un autre classeur dont on a modifié le nom.
Ce n'est qu'un exemple. Dans ton cas, qu'est-ce qui va changer ? Seulement le nom ? Le Chemin ? As-tu plusieurs fichiers
sources dont le chemin va changer ? Connais-tu à l'avance toutes les modifications de chemin de répertoire pour chaque
classeur lié ?
'---------------------------
Sub ModifierLiens()
Dim SourceLiaison à String
SourceLiaison = "Test.xls" ' à remplacer
Dim LS, Link, I As Integer
LS = LinkSources(xlExcelLinks)
For Each Link In LS
For I = Len(Link) To 1 Step -1
If Mid$(Link, I, 1) = "" Then Exit For
Next I
If Mid$(Link, I + 1) = SourceLiaison Then
ChangeLink Link, Path & "" & SourceLiaison, xlExcelLinks
UpdateLink LinkSources
Exit For
End If
Next
End Sub
'---------------------------
Salutations!
"YANN24" <YANN24@discussions.microsoft.com> a écrit dans le message de news:
210D79B5-1498-48B4-9ED2-952EF7D39700@microsoft.com...
Bonjour,
j'ai un fichier "EXEMPLE.xls", dans lequel j'ai plein de liens vers des
fichiers (y'en a 25 en tout) "fiche-A.xls"
Mon Pb, c'est que je travail pour l'instant sur mon poste, et je voudrais
implanté tous ces fichiers sur un autre ordinateur, où les chemins d'accès
sont différents.
Comment faire pour conserver ces liens?
Voici un exemple consistant à modifier tous les liens d'un classeur avec un autre classeur dont on a modifié le nom.
Ce n'est qu'un exemple. Dans ton cas, qu'est-ce qui va changer ? Seulement le nom ? Le Chemin ? As-tu plusieurs fichiers sources dont le chemin va changer ? Connais-tu à l'avance toutes les modifications de chemin de répertoire pour chaque classeur lié ?
'--------------------------- Sub ModifierLiens()
Dim SourceLiaison à String SourceLiaison = "Test.xls" ' à remplacer
Dim LS, Link, I As Integer LS = LinkSources(xlExcelLinks) For Each Link In LS For I = Len(Link) To 1 Step -1 If Mid$(Link, I, 1) = "" Then Exit For Next I If Mid$(Link, I + 1) = SourceLiaison Then ChangeLink Link, Path & "" & SourceLiaison, xlExcelLinks UpdateLink LinkSources Exit For End If Next End Sub '---------------------------
Salutations!
"YANN24" a écrit dans le message de news:
Bonjour, j'ai un fichier "EXEMPLE.xls", dans lequel j'ai plein de liens vers des fichiers (y'en a 25 en tout) "fiche-A.xls"
Mon Pb, c'est que je travail pour l'instant sur mon poste, et je voudrais implanté tous ces fichiers sur un autre ordinateur, où les chemins d'accès sont différents. Comment faire pour conserver ces liens?
Je vous remercie. YANN
YANN24
Re, en fait, mon fichier EXEMPLE récupère des infos des fichiers FICHES-X, FICHE-Y, ..., FICHE-Z (25 fiches environ). Pour l'instant, tout ces fichiers (EXEMPLE, FICHE-X, ..., FICHE-Z) sont dans le chemin C:MesDocuAlbertTravailFiches
Lorsque je vais graver ces fichiers sur le CD, et puis les coller sur mon autre PC, ces fichiers seront dans le chemin C:DocamoiArbeitFiches.
Donc, comment appliquer ta macro précisemment? Je te remercie. YANN
Re,
en fait, mon fichier EXEMPLE récupère des infos des fichiers FICHES-X,
FICHE-Y, ..., FICHE-Z (25 fiches environ).
Pour l'instant, tout ces fichiers (EXEMPLE, FICHE-X, ..., FICHE-Z) sont dans
le chemin C:MesDocuAlbertTravailFiches
Lorsque je vais graver ces fichiers sur le CD, et puis les coller sur mon
autre PC, ces fichiers seront dans le chemin C:DocamoiArbeitFiches.
Donc, comment appliquer ta macro précisemment?
Je te remercie.
YANN
Re, en fait, mon fichier EXEMPLE récupère des infos des fichiers FICHES-X, FICHE-Y, ..., FICHE-Z (25 fiches environ). Pour l'instant, tout ces fichiers (EXEMPLE, FICHE-X, ..., FICHE-Z) sont dans le chemin C:MesDocuAlbertTravailFiches
Lorsque je vais graver ces fichiers sur le CD, et puis les coller sur mon autre PC, ces fichiers seront dans le chemin C:DocamoiArbeitFiches.
Donc, comment appliquer ta macro précisemment? Je te remercie. YANN
MichDenis
Bonjour Yann24,
Pas testé... mais cela devrait ressembler à ceci :
'----------------------------- Sub ModifierLiens()
Dim LS As Variant, Link As Variant, Lien As String Dim CheminOriginel As String Dim CheminNouveau As String
With ThisWorkbook LS = .LinkSources(xlExcelLinks) For Each Link In LS Lien = Application.Substitute(Link, _ CheminOriginel, CheminNouveau) .ChangeLink Link, Lien .UpdateLink LinkSources Next End With
End Sub '-----------------------------
Salutations!
"YANN24" a écrit dans le message de news:
Re, en fait, mon fichier EXEMPLE récupère des infos des fichiers FICHES-X, FICHE-Y, ..., FICHE-Z (25 fiches environ). Pour l'instant, tout ces fichiers (EXEMPLE, FICHE-X, ..., FICHE-Z) sont dans le chemin C:MesDocuAlbertTravailFiches
Lorsque je vais graver ces fichiers sur le CD, et puis les coller sur mon autre PC, ces fichiers seront dans le chemin C:DocamoiArbeitFiches.
Donc, comment appliquer ta macro précisemment? Je te remercie. YANN
Bonjour Yann24,
Pas testé... mais cela devrait ressembler à ceci :
'-----------------------------
Sub ModifierLiens()
Dim LS As Variant, Link As Variant, Lien As String
Dim CheminOriginel As String
Dim CheminNouveau As String
With ThisWorkbook
LS = .LinkSources(xlExcelLinks)
For Each Link In LS
Lien = Application.Substitute(Link, _
CheminOriginel, CheminNouveau)
.ChangeLink Link, Lien
.UpdateLink LinkSources
Next
End With
End Sub
'-----------------------------
Salutations!
"YANN24" <YANN24@discussions.microsoft.com> a écrit dans le message de news:
9C99E9AD-7EA2-4B06-ABF7-F834768EDFF5@microsoft.com...
Re,
en fait, mon fichier EXEMPLE récupère des infos des fichiers FICHES-X,
FICHE-Y, ..., FICHE-Z (25 fiches environ).
Pour l'instant, tout ces fichiers (EXEMPLE, FICHE-X, ..., FICHE-Z) sont dans
le chemin C:MesDocuAlbertTravailFiches
Lorsque je vais graver ces fichiers sur le CD, et puis les coller sur mon
autre PC, ces fichiers seront dans le chemin C:DocamoiArbeitFiches.
Donc, comment appliquer ta macro précisemment?
Je te remercie.
YANN
With ThisWorkbook LS = .LinkSources(xlExcelLinks) For Each Link In LS Lien = Application.Substitute(Link, _ CheminOriginel, CheminNouveau) .ChangeLink Link, Lien .UpdateLink LinkSources Next End With
End Sub '-----------------------------
Salutations!
"YANN24" a écrit dans le message de news:
Re, en fait, mon fichier EXEMPLE récupère des infos des fichiers FICHES-X, FICHE-Y, ..., FICHE-Z (25 fiches environ). Pour l'instant, tout ces fichiers (EXEMPLE, FICHE-X, ..., FICHE-Z) sont dans le chemin C:MesDocuAlbertTravailFiches
Lorsque je vais graver ces fichiers sur le CD, et puis les coller sur mon autre PC, ces fichiers seront dans le chemin C:DocamoiArbeitFiches.
Donc, comment appliquer ta macro précisemment? Je te remercie. YANN