Lien hypertexte perdu

Bonjour,

J'ai un fichier Excel, qui me sert de base commercial, avec des liens hypertexte vers d'autres fichiers Excel.

Je travaille sur une clé et tout les liens fonctionnaient jusqu'à cette semaine.

L'utilisatrice de ce fichier a une clé, que je copie toutes les semaines, et il n'y avait aucun problème depuis 6 mois.

Tous les liens hypertexte vont maintenant chercher sur "C:" alors que tout est sur la clé.

Hormis le fait que je ne comprenne pas comment cela a pu arriver, pouvez-vous me dire s'il existe une formule magique pour transformer le "C" en "le répertoire de la clé" ?

Je veux bien savoir comment cela a-til pu arriver car elle ne travaille que sur cette clé.

Merci,


Petite information supplémentaire...

Les liens hypertexte se font maintenant vers un fichier caché dans le répertoire :

"users\AppData\Roaming\Microsoft\Excel..."

Bonjour

Quelle est l'adresse commune exacte du lien avant le changement et après le changement ?

Quelle feuille ?

Dans Quelle colonne se trouvent les liens ?

A te relire

Bonjour Dan,

Je ne comprends pas la question sur l'adresse commune.

Le fichier principal "base" se trouve dans un dossier "A"... les fichiers avec le lien hypertexte sont dans un dossier unique du dossier "A"

Il n'y a qu'une seule feuille.

Les liens sont sur la colonne A

re,

Je ne comprends pas la question sur l'adresse commune

.

Plus tu dis que liens vont vers c:\

Si tu veux changer le c:\ vers le lien correct, il faut savoir vers où tu dois aller.

Donc connaitre le disque concerné et éventuellement ou les dossiers communs

Mieux il faut connaitre la partie commune de tous tes liens hypertextes.

Exemple :

avant ton souci, lien --> F:\dossierA (F correspondant par exemple à ta clé USB)

Après : C:\dossierA

Pourrais-tu mettre le fichier en ligne éventuellement (sans données confidentielles) ?

Il n'y a rien de confidentiels mais c'est un fichier avec plein de petite macro et boutons associés que j'utilise pour faire des tris par date.

Je connais exactement le lien et les dossiers et fichiers vers où ça doit aller.

J'ai tout refait à la main ce weekend

Ce que je ne comprends pas, c'est comment cela a-t'il pu arriver ??

Ce qu'il faut savoir, c'est que chaque ligne correspond à un lien spécifique vers un fichier dans le même répertoire.

Une ligne pour chaque client, un fichier excel par client et un lien hypertexte pour l'ouvrir directement.

Bonjour le fil, flam72

Si cela peux t'aider; voici une petite moulinette pour changer les liens hypertexte

Sub MoulinetteLien()
  Dim DLig As Long, Lig As Long
  Dim OldAdr As String, NewAdr As String
  With Sheets("NomDeLaFeuille")
    ' Trouver la dernière ligne remplie de la colonne contenant les liens
    DLig = .Range("C" & Rows.Count).End(xlUp).Row
    ' pour chaque ligne
    For Lig = 2 To DLig
      OldAdr = Range("A1").Hyperlinks(1).Address
      NewAdr = "F:\" & Mid(OldAdr, 4)
      .Hyperlinks.Add Anchor:=.Range("C" & Lig), Address:=NewAdr, TextToDisplay:=NewAdr
    Next Lig
  End With
End Sub

Cella arrive, lorsque Excel n'arrive pas a trouver le lien en question (possibilité de mauvaise manip)

A+

Bonjour Bruno,

Est-ce que ta moulinette permettra de récupérer le lien vers tous les fichiers ? ... de C: vers F:

Chaque cellule est un lien hypertexte qui va vers un fichier spécifique issu du même répertoire.

Je me doute bien que c'est une mauvaise manip mais que je ne m'explique pas pour le moment car je ne gère pas ce fichier, je l'ai juste créé.

Merci

re,

Est-ce que ta moulinette permettra de récupérer le lien vers tous les fichiers ? ... de C: vers F:

C'est ce que fera le code de Bruno.

Par contre en fonction de tes infos (colonne A), je ferais plutôt ceci :

Sub MoulinetteLien()
  Dim DLig As Long, Lig As Long
  Dim OldAdr As String, NewAdr As String
  With Sheets("nomdetafeuille")
   DLig = .Range("A" & Rows.Count).End(xlUp).Row
   For Lig = 2 To DLig
      OldAdr = Range("A" & Lig).Hyperlinks(1).Address
      NewAdr = "C:\" & Mid(OldAdr, 3)
      .Hyperlinks.Add Anchor:=.Range("A" & Lig), Address:=NewAdr, TextToDisplay:=NewAdr
    Next Lig
  End With
End Sub

Attention qu'il faut veiller à ce que ton fichier soit bien placé à la racine du C:\ ou du F:\ car s'il est dans un dossier spécifique, cela ne te donnera pas le résultat que tu attends. D'où mes questions dans mes différents posts

Amicalement

Re,

Mon code est fait pour modifier effectivement, toutes les cellules de la colonne "C" ayant un lien hypertexte

Cela change simplement le lecteur, s'il faut changer le dossier, il faudra adpater

Je n'ai pas inclus de test au cas ou il n'y est pas de lien

A+

Je vais essayer la moulinette et vous tiendrez au courant !

Rechercher des sujets similaires à "lien hypertexte perdu"