Changement d'une partie de milliers de liens hypertextes/Macro [Résolu/Fermé]

Signaler
Messages postés
44
Date d'inscription
lundi 1 juillet 2013
Statut
Membre
Dernière intervention
21 août 2013
-
Messages postés
23989
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
8 avril 2021
-
Bonjour à tous,

Je vous remercie de lire ce message, et j'espère que vous aurez une réponse à ma question.

Je viens de créer un fichier excel sous Microsoft Office Excel 2007, et j'y ai inséré environ 7 000 liens hypertextes.

Chaque liens hypertexte à été renommé sous différentes dénominations, mais ils mènent tous à un même ficher (contenant une sous arborification) selon un chemin de type:

file:///\\bod\fichier1\fichier2\fichier3\fichier4

J'aimerais changer mon tableau excel de place dans un répertoire commun, mais aussi changer de place mon fichier 3 qui sera introduit dans le 2 par exemple. Mais sous un nouveau nom par exemple fichier 5.

Alors le nouveau lien sera par exemple

file:///\\bod\fichier1\fichier5\fichier4

Donc c'est vraiment une partie du lien qui doit être modifié. Je rappel que c'est liens sont renommé sinon j'aurais utilisé la fonction remplacer par. Mais ici cela ne marche pas.

J'ai fais déjà des recherche sur internet et j'avais pensé à faire afficher le lien hypertexte et faire remplacer par.

La macro utilisé avait été:

Sub test()
Dim c As Range
For Each c In Selection
c = c.Hyperlinks(1).Address
Next c
End Sub

Sauf que cela m'a affiché
..\..\..\Fichier4 => impossible pour moi de faire remplacer par n'ayant pas le lien exact, de plus je devrais ensuite refaire renommé mes 7000 liens hypertexte, ce qui peut être long.

Je cherche donc une marco qui pourrait rechercher un texte dans un lien hypertexte et le remplacer par ce que je mettrais.

J'espère avoir choisis la bonne partie pour poster ce message et avoir été le plus précis possible pour que cela sois rapide à la personne ayant la solution.


Je n'ai pas de large connaissance informatique, j'ai utilisé ma première macro aujourd'hui, pour vous donner mon niveau à ce niveau là.

Merci d'avance pour vos réponses

Ps: J'ai nommé les fichiers 1 2 3 4 car étant salarié en entreprise la confidentialité est de rigueur.

4 réponses

Messages postés
23989
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
8 avril 2021
6 718
Bonjour,

Chez moi je peux utiliser Remplacer sur un simple lien hypertexte.
tu pourrais aussi utiliser la fonction Lien_hypertexte() avec une cellule ayant le répertoire en paramètre.
Tu peux déposer un fichier exemple ?
cjoint.com et coller ici le lien fourni.

eric

Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
23989
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
8 avril 2021
6 718
Bonjour,

sélectionner la plage à traiter et :
Sub lien()
    Dim h As Hyperlink, ancien As String, nouveau As String
    ancien = "\Apple"
    nouveau = "\Apple\Tree"
    For Each h In Selection.Hyperlinks
        h.Address = Replace(h.Address, ancien, nouveau)
    Next h
End Sub

à tester...
Ou mettre des ref de cellules où tu saisis la partie variable à la place de ancien et nouveau :
Sub lien()
    Dim h As Hyperlink
    For Each h In Selection.Hyperlinks
        h.Address = Replace(h.Address, [ancien], [nouveau])
    Next h
End Sub

Tes 2 cellules (dans une autre feuille si tu veux) ont été nommées ancien et nouveau
eric

Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
44
Date d'inscription
lundi 1 juillet 2013
Statut
Membre
Dernière intervention
21 août 2013

Rebonjour,

J'ai donc crée un fichier sur cijoint avec une entreprise bidon ( Apple) et une autre (Google). C'est une partie d'un travail que je dois réalisé donc un exemple concret.

voici le lien: https://www.cjoint.com/?3GboujLuWmi


Dans les colonnes A,B,C,H... il y a des liens hypertextes et comme on peut le voir leurs nom est différents, de même pour le lien hypertexte. Il est noté que ces liens mènent évidement à des fichiers différents...

Je n'arrive pas à remplacer en fessant une simple recherche, ou par les autres techniques évoqués précédemment.

Merci Eric pour ta première réponse.

Cordialement.

Alex
Messages postés
44
Date d'inscription
lundi 1 juillet 2013
Statut
Membre
Dernière intervention
21 août 2013

Merci Eric,

Le premier a fonctionné correctement, et cela change parfaitement les liens hypertextes. Le second n'a pas fonctionné cependant.

Grâce à vous j'ai pu changer l'incrémentation de mes 7000 liens en 4 manipulations.

PS: Cela m'a pris un peu de temps pour créer la macro et surtout comment l'utilisé:
Développeur, Macro, Modifier, clic droit (code), mettre le code, et avant de le faire démarrer cliquer sur feuil 1 et sélectionner sur sa feuille la partie à modifier.

Mille merci Eric, je vous souhaite une excellence journée et la satisfaction d'avoir fait une bonne action.

Cordialement,

Alexandre
Messages postés
23989
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
8 avril 2021
6 718
ok, je met en résolu pour toi (en haut vers ton titre, pour la prochaine fois)
eric