chamboulement des nos de répertoires : en vba comment changer les liens
1 réponse
Alfred WALLACE
Bonjour =E0 tous les gurus d'avril ! j'esp=E8re qu'ils
ne se d=E9couvriront pas d'un fil ...
suite =E0 une restructuration de notre structure
r=E9seau, les noms de certains chemains ont ete (ou vont =EAtre)
modifi=E9s.
Par exemple, les "underscore" (tiret du "8") sera remplacer
par un tiret du 6 : "_" sera remplac=E9 par "-".
les espaces seront supprim=E9s (ou remplac=E9 par "-")
les lettres accentu=E9es seront, elles aussi modifi=E9es (sans accent).
je cherche =E0 ouvrir les fichiers excel, et, si ceux ci
contiennent des liens :
1 - rep=E9rer ces liens (par exemple en gardant le nom du
fichier concern=E9)
2 - renomm=E9 le nom du repertoire selon les regles, ET
corriger le lien de la feuille pour qu'il corresponde.
Voil=E0,
c'est peut =EAtre faisable.
je sais deja parcourir les fichiers dans les dossiers et S/dossiers.
ouvrir chaque fichier excel.
Mais comment savoir si ceux-ci ont des liens, et
comment modifier ces liens.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.C
Bonjour. Essaie le code suivant (il est possible qu'il ne fonctionne pas avec une veersion antérieure à XL2007) :
Sub test() Dim Liens, Txt As String, i As Long Liens = ActiveWorkbook.LinkSources(xlOLELinks) For i = 1 To UBound(Liens) Txt = Application.Substitute(Liens(i), " ", "-") Txt = Application.Substitute(Txt, "_", "-") ActiveWorkbook.ChangeLink Liens(i), Txt, xlOLELinks Next Liens = ActiveWorkbook.LinkSources(xlExcelLinks) For i = 1 To UBound(Liens) Txt = Application.Substitute(Liens(i), " ", "-") Txt = Application.Substitute(Txt, "_", "-") ActiveWorkbook.ChangeLink Liens(i), Txt, xlExcelLinks Next End Sub
Daniel
Bonjour à tous les gurus d'avril ! j'espère qu'ils ne se découvriront pas d'un fil ...
suite à une restructuration de notre structure réseau, les noms de certains chemains ont ete (ou vont être) modifiés.
Par exemple, les "underscore" (tiret du "8") sera remplacer par un tiret du 6 : "_" sera remplacé par "-".
les espaces seront supprimés (ou remplacé par "-")
les lettres accentuées seront, elles aussi modifiées (sans accent).
je cherche à ouvrir les fichiers excel, et, si ceux ci contiennent des liens :
1 - repérer ces liens (par exemple en gardant le nom du fichier concerné) 2 - renommé le nom du repertoire selon les regles, ET corriger le lien de la feuille pour qu'il corresponde.
Voilà, c'est peut être faisable. je sais deja parcourir les fichiers dans les dossiers et S/dossiers. ouvrir chaque fichier excel. Mais comment savoir si ceux-ci ont des liens, et comment modifier ces liens.
Merci pour votre aide.
José
Bonjour.
Essaie le code suivant (il est possible qu'il ne fonctionne pas avec
une veersion antérieure à XL2007) :
Sub test()
Dim Liens, Txt As String, i As Long
Liens = ActiveWorkbook.LinkSources(xlOLELinks)
For i = 1 To UBound(Liens)
Txt = Application.Substitute(Liens(i), " ", "-")
Txt = Application.Substitute(Txt, "_", "-")
ActiveWorkbook.ChangeLink Liens(i), Txt, xlOLELinks
Next
Liens = ActiveWorkbook.LinkSources(xlExcelLinks)
For i = 1 To UBound(Liens)
Txt = Application.Substitute(Liens(i), " ", "-")
Txt = Application.Substitute(Txt, "_", "-")
ActiveWorkbook.ChangeLink Liens(i), Txt, xlExcelLinks
Next
End Sub
Daniel
Bonjour à tous les gurus d'avril ! j'espère qu'ils
ne se découvriront pas d'un fil ...
suite à une restructuration de notre structure
réseau, les noms de certains chemains ont ete (ou vont être)
modifiés.
Par exemple, les "underscore" (tiret du "8") sera remplacer
par un tiret du 6 : "_" sera remplacé par "-".
les espaces seront supprimés (ou remplacé par "-")
les lettres accentuées seront, elles aussi modifiées (sans accent).
je cherche à ouvrir les fichiers excel, et, si ceux ci
contiennent des liens :
1 - repérer ces liens (par exemple en gardant le nom du
fichier concerné)
2 - renommé le nom du repertoire selon les regles, ET
corriger le lien de la feuille pour qu'il corresponde.
Voilà,
c'est peut être faisable.
je sais deja parcourir les fichiers dans les dossiers et S/dossiers.
ouvrir chaque fichier excel.
Mais comment savoir si ceux-ci ont des liens, et
comment modifier ces liens.
Bonjour. Essaie le code suivant (il est possible qu'il ne fonctionne pas avec une veersion antérieure à XL2007) :
Sub test() Dim Liens, Txt As String, i As Long Liens = ActiveWorkbook.LinkSources(xlOLELinks) For i = 1 To UBound(Liens) Txt = Application.Substitute(Liens(i), " ", "-") Txt = Application.Substitute(Txt, "_", "-") ActiveWorkbook.ChangeLink Liens(i), Txt, xlOLELinks Next Liens = ActiveWorkbook.LinkSources(xlExcelLinks) For i = 1 To UBound(Liens) Txt = Application.Substitute(Liens(i), " ", "-") Txt = Application.Substitute(Txt, "_", "-") ActiveWorkbook.ChangeLink Liens(i), Txt, xlExcelLinks Next End Sub
Daniel
Bonjour à tous les gurus d'avril ! j'espère qu'ils ne se découvriront pas d'un fil ...
suite à une restructuration de notre structure réseau, les noms de certains chemains ont ete (ou vont être) modifiés.
Par exemple, les "underscore" (tiret du "8") sera remplacer par un tiret du 6 : "_" sera remplacé par "-".
les espaces seront supprimés (ou remplacé par "-")
les lettres accentuées seront, elles aussi modifiées (sans accent).
je cherche à ouvrir les fichiers excel, et, si ceux ci contiennent des liens :
1 - repérer ces liens (par exemple en gardant le nom du fichier concerné) 2 - renommé le nom du repertoire selon les regles, ET corriger le lien de la feuille pour qu'il corresponde.
Voilà, c'est peut être faisable. je sais deja parcourir les fichiers dans les dossiers et S/dossiers. ouvrir chaque fichier excel. Mais comment savoir si ceux-ci ont des liens, et comment modifier ces liens.