Lien hypertexte changeant

MaM

XLDnaute Nouveau
Bonjour, bonsoir à toutes et à tous,


Je travaille avec un fichier comportant par ligne, deux ou trois liens hypertexte, vers un dossier (toujours le même nom) comportant +/- 30 sous dossiers (divers techniques, toujours les mêmes). Ce dossier se trouve dans le répertoire C:/.... de mon PC du bureau.


Lorsque je sauvegarde ce fichier sur mon disque dur mobile, et que je modifie ce même fichier sur le PC familial, les liens ne sont plus corrects. Normal, puisque mon disque dur se retrouve par exemple dans le répertoire F:/.... Vous me direz de placer le dossier dans le répertoire C:/... de mon PC familial. Oui, mais je n'y pense pas toujours.

Inévitablement, lorsque je crée de nouveaux liens sur ce disque dur, ils ont coomme référence F:/.....

Bien entendu, lorsque je transvase à nouveau le fichier modifié vers mon PC de bureau, les liens hypertextes ne sont plus reconnus.

Comment peut-on faire pour que les liens hypertextes reconnaissent toujours le même dossier, quel que soit l'endroit où il se trouve ? Ou comment peut-on faire pour que l'on puisse modifier ses liens hypertexte en une seule fois, sans devoir reprendre chaque lien hypertexte séparement?


Un grand merci d'avance.


Michel
 

fred65200

XLDnaute Impliqué
Re : Lien hypertexte changeant

bonjour MaM,

un pansement à appliquer pour changer la lettre du lecteur
Code:
Sub ChangerLecteurSurLien()
' change la lettre du disque dur dans les liens
' de la feuille active
For Each HypL In ActiveSheet.Hyperlinks
  HypL.Address = Environ("SYSTEMDRIVE") & _
    Right(HypL.Address, Len(HypL.Address) - 2)
Next
End Sub

cordialement
 

Luki

XLDnaute Accro
Re : Lien hypertexte changeant

Bonsoir Mam, Fred

Sans pharmacie de secours :D, si ton fichier de travail est dans le même répertoire que tes fichiers ciblés par tes liens, la mise à jour des liens devarit être automatique. J'ai testé sur 2 disques internes et c'est ok, mais pas testé avec transfert sur un autre poste. Donc à vérifier.

A te lire

Ps : MaM, évite le multipostage, si tu n'as pas de réponse au premier post, fais le remonter en relançant la question dans le même fil. Merci :)
 
Dernière édition:

MiM

XLDnaute Nouveau
Re : Lien hypertexte changeant

Bonjour Fred,


N'étant pas un féru de VBA, pourrais-tu me donner une petite explication sur la manière de rentrer la séquence en VBA et surtout d'expliquer les termes utilisés. Si cela est trop long pour toi, peux tu éventuellement me guider vers un site explicatif.

Merci d'avance.



MICHEL
 

fred65200

XLDnaute Impliqué
Re : Lien hypertexte changeant

bonjour MiM, MaM, MouM:)

Code:
Sub ChangerLecteurSurLien()
' change la lettre du disque dur dans les liens
' de la feuille active

' la fonction Environ("SYSTEMDRIVE") renvoie la lettre du lecteur de l'OS suivi de deux points (:), par exemple "C:" ou "F:".
'cette procédure remplacera les deux premiers caractères des adresse des liens par la lettre du lecteur et :
For Each HypL In ActiveSheet.Hyperlinks
  HypL.Address = Environ("SYSTEMDRIVE") & _
    Right(HypL.Address, Len(HypL.Address) - 2)
Next
End Sub

Tu peux placer cette macro dans un module du classeur, un bouton sur ta feuille et affecter cette macro à ton bouton.

En espérant être assez clair
cordialement
 

MiM

XLDnaute Nouveau
Re : Lien hypertexte changeant

Bonjour Fred,


Merci pour cette explication. Cela fonctionne bien.

Cependant je constate, dans mon fichier en tout cas, que le lien est bien redirigé vers C: mais pas vers le dossier demandé : C:\Liaison E40-E25\Fax 2007\

Comment pourrais-je forcer ce lien a toujours aller vers les sous-dossiers? Le dossier principal "Liaison ..." est toujours au même endroit.

Comment puis-je faire également pour que quand je travaille à la maison le lien C:\Liaison E40-E25\Fax 2007\ devienne par exemple E:\Liaison E40-E25\Fax 2007\

Encore un grand merci pour la réponse précédente, et oserais je espérer une nouvelle réponse à ma question ?

Bon début de soirée.


Michel dit MiM, MaM
 

fred65200

XLDnaute Impliqué
Re : Lien hypertexte changeant

re

Si tu cliques droit sur un lien, modifier le lien hypertexte, comment est inscrite l'adresse?
sous cette forme : F:\Dossier 1\Sous dossier 1\Sous dossier 2\Classeur2.xlsm
ou celle là : ..\..\..\..\..\..\Dossier 1\Sous dossier 1\Sous dossier 2\Classeur2.xlsm
ou une autre?
@+
 
Dernière édition:

MaM

XLDnaute Nouveau
Re : Lien hypertexte changeant

Bonsoir Fred,

L'info-bulle me montre le lien suivant file:///C:\Liaison E40-E25\Fax2007\NomdelaTechnique\NomDuFichier.doc. Ce lien est correct et c'est toujours vers lui que je pointe. Dans d'autre info-bulle, je vois le lien file:////E:\Fax 2007\NomdelaTechnique\NomDuFichier.doc. Dans encore d'autre info-bulle, je vois le lien file:////C:\Documents and Settings\MAM ABAY\Fax 2007\NomdelaTechnique\NomDuFichier.doc. Ces différents états correspondent au mélange que j'ai fait dans les différents transvasements du PC bureau vers le PC Familial et vis versa. Je ne faisais pas attention au placement des nouveaux liens.:eek:

En fait dès le départ (création du fichier Excel), j'ai placé le fichier en C:\Liaison E40-E25\Fax 2007\NomdelaTechnique\NomDuFichier.doc . Il existe +/- 30 NomdelaTechnique avec associé le NomDuFichier.doc (lien hypertexte). Il y a +/- 1500 NomDeFichier.doc classé par onglet correspondant au mois de l'année.

Les liens ne fonctionnent plus pour ceux qui ne correspondent pas à file:///C:\Liaison E40-E25\Fax2007\NomdelaTechnique\NomDuFichier.doc .

Voilà pour l'essentiel. mon souci est de pouvoir toujours retrouver le lien hypertexte correct. De plus je transfère ce fichier vers le client final pour qu'il ait l'état de la situatiuon à tout moment. Lui aussi doit pouvoir lire les liens hypertextes de manière tout à fait correcte.:D

Je te remercie de consacrer du temps à mon gros souci.

Bonne soirée.

Michel
 

Discussions similaires

Réponses
7
Affichages
698

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 105
dernier inscrit
Joffrette