Mutation intempestive des liens hypertexte

  • Initiateur de la discussion AlibiNatus
  • Date de début
A

AlibiNatus

Guest
Bonjour à tous,

J'utilise les liens hypertextes depuis longtemps sous excel. J'ai un fichier qui en contient près de mille !!!
A ma grande surprise, la consultation de mon fichier (et des pièces rattachées) sur un autre PC m'a changé l'ensemble des références de mes liens.
Vous imaginez les dégâts : il faut que je reprenne tout !!!
Alors voici mes questions :
1/ Existe-t-il un moyen de changer la partie commune de l'énnoncé de plusieurs liens d'un coup ?
2/ Comment 'figer' mes liens de sorte qu'ils ne changent pas lorsque je change de PC ? (n'y a-t-il pas une question de relatif ou d'absolu là-dessous ?)
Merci d'avance,

AlibiNatus
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir AlibiNatus, le Forum

Oui c'est arrivé aussi à moi aussi... :sick:

1/ Existe-t-il un moyen de changer la partie commune de l'énnoncé de plusieurs liens d'un coup ?

Oui je me suis débrouillé en VBA :


Option Explicit

Const Bad As String = 'C:\\\\\\\\Documents and Settings\\\\\\\\Guest\\\\\\\\'
Const Good As String = 'C:\\\\\\\\Documents and Settings\\\\\\\\Administrator\\\\\\\\'


Sub RebuildHyperlink()
Dim Hyper As Hyperlink

For Each Hyper In Worksheets('Feuil1').Hyperlinks
   
If Not InStr(Hyper.Address, Bad) = 0 Then
        Hyper.Address = WorksheetFunction.Substitute(Hyper.Address, Bad, Good)
   
End If
   
Next

End Sub



2/ Comment \\'figer\\' mes liens de sorte qu'ils ne changent pas lorsque je change de PC ? (n'y a-t-il

Dans la fenêtre Propriété du Menu Fichier, il y a 'Répertoire Web' qui peut servir de racine, mais ce n'est pas vraiment pour travailler sur le Disque C de différent PCs, en général ça fonctionne sur des lecteurs réseaux... Mais tu peux faire des essais.

Bonne Nuit
[ol]@+Thierry[/ol]
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Ah un Thierry alors ;)

Oh tu sais ce n'est pas bien compliqué, il suffit de changer les Constantes avec les tiennes :

Const Bad As String = 'C:\\\\\\\\Documents and Settings\\\\\\\\Guest\\\\\\\\'

Const Good As String = 'C:\\\\\\\\Documents and Settings\\\\\\\\Administrator\\\\\\\\'

'Of Course' Good est la partie commune de l'adresse qui est à remettre...à la place de la Bad

Il faut aussi penser à changer avec le vrai nom de Feuille :

For Each Hyper In Worksheets('Feuil1').Hyperlinks

Tu mets ce code dans un Module Standard (Module1 par exemple) et tu fais une exécution...

Par contre à ma connaissance, c'est le seul moyen que tu auras pour remettre en ordre en masse ton millier d'Hyperlinks...

Bonne Nuit
[ol]@+Thierry[/ol]

Message édité par: _Thierry, à: 24/04/2006 00:01
 
A

AlibiNatus

Guest
Bonsoir Thierry,

désolé de revenir à la charge... Mais je ne parviens pas à me dépatouiller, avec le modèle que tu m'as si sympatiquement transmis.
Je viens de voir que l'on peut envoyer des fichiers 'exemple' ici. Pourais-tu trouver le temps de m'en concocter un ?

Disons que l'adresse initiale du lien était de type :
'D:\\Toto\\gugus\\fichier~1',
et qu'elle s'est transformé en :
'C:\\Tata\\gugus\\fichier~1',

que ma feuille s'appelle 'Family'.

Merci d'avance...

Thierry
alibinatus@free.fr
 

Statistiques des forums

Discussions
312 495
Messages
2 088 964
Membres
103 992
dernier inscrit
Christine 974