Perte des liens hypertextes excel

Fermé
Martok - 5 sept. 2008 à 18:33
 mabele - 1 avril 2009 à 16:24
Bonjour,
J'ai 2 fichiers excel. Dans le premier, j'ai créé beaucoup de lien hypertexte qui m'ouvre des onglets du 2ème fichier. Quand je déplace l'un des 2 fichiers les liens hypertexte sont perduent, excel n'enregistre pas le chemin qui mêne sur l'autre fichier excel. Y'à t'il une solution pour le forcer à garder le bon chemin ?
Merci
A voir également:

12 réponses

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
5 sept. 2008 à 23:51
Bonsoir,

Ouvre les 2 fichiers et fais 'enregistrer sous' dans son nouveau répertoire pour le 2nd.
Ensuite tu supprime l'original
eric
0
Bonjour Eric
Merci de ta réponse. Cela résout la moitier de mon problème puisque je ne peux bouger que 1 seul fichier... J'ai une autre question: J'ai 2 fichiers excel avec des liens hypertexte qui même vers des onglets différent d'un 3ème fichier excel. Je souhaiterai fusionner les 2 premier fichier excel pour en créer un seul. J'ai bien essayé de copier les onglet d'un fichier vers un autre mais les liens hypertexte du fichier copier sont perduent, toujours ce problème de chemin en fait.
Merci
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
7 sept. 2008 à 19:52
Le 1er fichier tu peux le déplacer normalement si le 2nd n'a pas de lien dessus.
Et si tu déplace un onglet d'un classeur dans un autre aucune raison que les liens vers un 3ème soient perdus.
Par contre des liens du 3ème vers un des 2 premiers seront perdus si ce 3me fichier est fermé.
Par précaution ouvre TOUS les fichiers concernés avant d'enregistrer dans le nouveau répertoire et garde-les tous ouverts pour les enregistrer dans le nouveau chemin.
eric
0
Bonsoir eric
J'ai effectué de multiple test, quant il sagit du fichier qui contient les liens tous se passe bien, je peux le déplacer, le renommer et le fusionner mais quand il sagit du fichier source, je ne peux rien faire, le moindre changement se traduit par la perte des liens hypertextes. Pourtant tous les fichier excel sont ouvert, je fais bien enregistrer sous et j'efface le fichier d'origine. Je suis sur excel 2003.
Nico
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
10 sept. 2008 à 19:46
Si le fichier source est bien un fichier excel et que tu l'ouvres pour faire 'enregistrer sous' je n'ai plus d'idée là, désolé...
Tu penses bien à enregistrer ton fichier ayant les liens après l'opération oui ?
A moins que tu n'aies des macros à mettre à jour dedans ?
Il faudrait que tu mettes un exemple reduit des tes fichiers (sans données confidentielles et que tu constates toujours le pb) en ligne sur cijoint.fr et que tu colles ici le lien fourni.
eric
0
Pour simplifier le problème j'ai effectué 2 tests:
Sur le bureau j'ai créé 2 feuilles de calcul microsoft excel, Donc j'ai:
- Nouveau feuille de calcul microsoft excel
- Nouveau feuille de calcul microsoft excel (2)
Dans Nouveau feuille de calcul microsoft excel je créé dans la case A1 un lien hypertexte qui mène vers la feuil3 de
Nouveau feuille de calcul microsoft excel (2).
Je créé un dossier nommé A
J'ouvre les 2 fichiers excel et je fais dans Nouveau feuille de calcul microsoft excel fichier, enregistré sous dans le Dossier A, puis je supprime Nouveau feuille de calcul microsoft excel qui est sur le bureau.
Quand je clique sur ma case A1 de Nouveau feuille de calcul microsoft excel, le chemin est bien enregistré et mène toujours dans Nouveau feuille de calcul microsoft excel (2), feuil3.
Cela marche aussi bien pour un déplacement ou un changement de nom, le chemin est sauvegardé.

Test 2:
Je recommence à 0:
J'ai créé toujours mes 2 fichiers, toujours le même lien, j'ouvre les 2 fichiers mais la c'est Nouveau feuille de calcul microsoft excel (2) que je déplace dans le Dossier A en effectuent un fichier, enregistrer sous puis je supprime Nouveau feuille de calcul microsoft excel (2) et je clique sur enregistrer dans Nouveau feuille de calcul microsoft excel comme tu me la demandé dans ton dernier message.
Mais la quand je clique sur A1 de Nouveau feuille de calcul microsoft excel, il me met fichier spécifié introuvable et l'erreur s'affiche égualement si je renomme Nouveau feuille de calcul microsoft excel (2).

Question: As tu fais le test chez toi ?

Voici l'adresse qu'il affiche pour le lien test 1:
Nouveau%20Feuille%20de%20calcul%20Microsoft%20Excel%20(2).xls#Feuil3!A1

Voici l'adresse qu'il affiche apres déplacement dans le dossier A: ../Nouveau%20Feuille%20de%20calcul%20Microsoft%20Excel%20(2).xls#Feuil3!A1

C'est étrange de remarquer que le dossier A n'est pas marqué et on a à la place ../
De plus les espaces sont signalé par %20
Néanmoins cela fonctionne !

Evidemment dans test 2 quand c'est le fichier source qui est déplacé l'adresse reste:
Nouveau%20Feuille%20de%20calcul%20Microsoft%20Excel%20(2).xls#Feuil3!A1
Les ../ n'ont pas était copier

Dans mon travail, tous ceci est beaucoup plus compliqué puisque c'est plus de 400 liens hypertexte réparti sur plus de 20 feuilles excel d'où la nécessité pour moi d'automatisé le processus si je dois déplacer une des feuilles ou la renommer.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
11 sept. 2008 à 22:39
Bonsoir,

je te répond rapidement car je n'ai pas beaucoup de temps.
Donc oui, j'avais bien fait le test car tu avais fini par mettre des doutes et tout était ok.
Par contre je me demande si tu n'es pas sur excel 2007, moi c'est 2003. Mais j'ai quand même du mal à imaginer une régression là dessus...
Je relirai plus tranquillement ta prose plus tard
eric
0
Coucouc Eric
Tu m'as abandonné ? sniff
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
22 sept. 2008 à 21:47
Heuuuu, je t'avais un peu perdu oui ;-)
avec d'autres messages qui s'étaient empilés dessus, désolé.

Du coup j'ai repris à 0, j'ai retesté et .... je ne suis arrivé à rien...
Je pense que j'avais dû tester les liens et non pas les hyperliens. Donc je confirme, aucune mise à jour des hyperliens lors de déplacement des fichiers.
Je te propose une petite macro pour les mettre à jour :
Sub MajHyperlinks()
    Const repSource = "../Test/test.xls"
    Const repDest = "../Test2/test.xls"
    Dim h As Hyperlink
    For Each h In ActiveSheet.Hyperlinks
        MsgBox ("Address : " & h.Address & vbLf & "SubAddress : " & " " & h.SubAddress)
        If h.Address = repSource Then
            h.Address = repDest
        End If
    Next
End Sub

J'ai fait au plus simple ce qui t'oblige à déclarer les 2 constantes repSource (ancienne adresse de tes hyperlinks) et repDest (nouvelle adresse) en début de programme.
La macro, à copier dans un module, balaiera tous les hyperlinks de la feuille active et les modifiera.
Pour faciliter l'analyse de tes hyperlinks je t'ai mis une msgbox pour t'afficher l'adresse de tous les hyperlinks, à valider à chaque fois. Tu peux la supprimer en mettant une ' devant la ligne si tu es à peu près sûr de tes adresses.

Si vraiment tu en as beaucoup (style de nombreux classeurs avec de nombreuses feuilles à traiter) et à faire régulièrement on pourra améliorer.
Teste déjà avec ça, je pense que ça doit marcher

eric
0
Salut Eric
Ca ne marche pas chez moi, disons que la manip est un peut compliqué, je dois manquer d'information.
La macro je l'a créée bien dans le classeur qui contient les liens ?
L'adresse que je rentre c'est l'adresse qui à sur le lien hypertexte où l'adresse C:\Documents and Settings\Mes documents\Favoris\1.xls par exemple ?
A quel moment j'éxécute la macro ?
Les 2 classeurs doivent être ouvert ?
Quand je déplace la macro je fais un enregistrer sous ?

Merci
Nico
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
10 oct. 2008 à 16:14
Bonjour,

heuuu, 20 jours ça fait long pour se rappeler...
Donc la macro tu la crée dans un classeur quelconque, elle pourra traiter tous tes classeurs.
Tu as 2 constantes à définir au début : Const repSource et Const repDest

dans un fichier tu as des liens vers un fichier test.xls qui est dans le répertoire c:\test\ (source), tu mets donc :
Const repSource = "c:\Test\test.xls"

Ce fichier test.xls tu désires le déplacer vers le répertoire c:\test2 (destination), tu mets donc :
Const repDest = "../Test2/test.xls"
et tu fais ta copie de fichier vers le nouveau répertoire.

Tu ouvres un fichier ayant des hyperlinks vers ce fichier test.xls, tu actives une feuille ayant ces liens et tu lances la macro (elle ne traite QUE la feuille active), tu passes à la feuille suivante si besoin et tu relances la macro. Si tu as d'autres classeurs même manip.
Normalement tous tes liens sont réparés et tu enregistres tes fichiers.

eric
0
Salut,

Je suis peut-être tard pour répondre à ta question mais je viens de découvrir un logiciel qui répare les liens hypertexte brisés lors d'un transfert de fichiers d'un répertoire à un autre. Tu pourras le trouver à l'adresse suivante: http://www.linkfixerplus.com/pressroom/lfp-customers.htm.
0