dupliquer un dossier contenant plusieurs classeurs liés

youss21

XLDnaute Nouveau
bonjour,

je vous écris car je ne trouve pas de réponse à mon problème malgré une recherche sur internet.
j'ai un dossier rapport qui contient plusieurs dossiers avec des classeurs Excel qui sont liés.
mais lorsque je le duplique ou déplace, je suis obligé de modifier les liaisons classeur par classeur.
pour info je ne maitrise pas le vba.
pourriez vous m'aider si vous avez une idée.
merci
 

Pièces jointes

  • Rapport.zip
    1.9 MB · Affichages: 3
C

Compte Supprimé 979

Guest
Bonjour,
Voici un code qui te fera les mise à jour
VB:
Sub MàJMiens()
  Dim sPathNew As String, sPathOld As String, NewLink As String
  Dim Ind As Integer, Link As Variant
  ' Chemin d'accès actuel
  sPathNew = ThisWorkbook.Path & "\"
  ' Pour chaque lien
  For Each Link In ThisWorkbook.LinkSources
    ' Récupérer l'ancien chemin
    sPathOld = Left(Link, InStrRev(Link, "\"))
    ' Définir le nouveau chemin
    If InStr(1, sPathOld, "Annuel") > 0 Then
      NewLink = Replace(Link, sPathOld, sPathNew & "Annuel\")
    ElseIf InStr(1, sPathOld, "Trimestriel") > 0 Then
      NewLink = Replace(Link, sPathOld, sPathNew & "Trimestriel\")
    End If
    ' Modifier le lien
    ActiveWorkbook.ChangeLink Name:=Link, NewName:=NewLink, Type:=xlExcelLinks
  Next Link
End Sub
A lancer manuellement

A+
 
Dernière modification par un modérateur:

youss21

XLDnaute Nouveau
Bonjour

Merci pour ta réponse.
Je copie ton code et je le colle dans la feuille annuel et la feuille trimestriel, je crée un module ? Je suis très très limité en vba.
Tu me dis à lancer manuellement, je ne peux le laisser en automatique?

Merci pour ton aide.
 

youss21

XLDnaute Nouveau
après avoir collé le code sur la feuille annuel voici ce que ça me dit.
je vous mets en pj , ce que j'ai collé si vous avez une idée d'où vient l'erreur.
merci encore
 

Pièces jointes

  • Capture d’écran 2019-03-06 à 10.38.20.png
    Capture d’écran 2019-03-06 à 10.38.20.png
    1.2 MB · Affichages: 4
  • Capture d’écran 2019-03-06 à 10.40.30.png
    Capture d’écran 2019-03-06 à 10.40.30.png
    852.6 KB · Affichages: 6

Dranreb

XLDnaute Barbatruc
Bonsoir.
Vous pouvez toujours encadrer l'instruction d'un dispositif vous informant de ce qu'il essaye de faire :
VB:
   On Error Resume Next
   ActiveWorkbook.ChangeLink Name:=Link, NewName:=NewLink, Type:=xlExcelLinks
   If Err Then MsgBox "Err. " & Err & " en tentant de changer le lien suivant :" _
      & vbLf & Link & vbLf & "en ceci :" & vbLf & NewLink & vbLf & Err.Description, _
      vbCritical, "MàJLiens"
   On Error GoTo 0
Peut être que ça permettra de voir pourquoi ça ne marche pas.
 

Discussions similaires

Statistiques des forums

Discussions
312 184
Messages
2 086 006
Membres
103 088
dernier inscrit
Psodam