ShuarS
XLDnaute Occasionnel
Salut à tous,
Auriez vous sous la main une macro pour modifier la racine de liens hyper text sur l'intégralité d'un classeur ?
Je n'ai pas d'exemple à partager désolé.
Pour faire simple le classeur possède de très nombreux onglets et des liens hyper text éparpillés de partout.
L'adresse du serveur vient de changer et je dois corriger cette racine.
Ex. : Ancienne adresse : "Lien supprimé"
Nouvelle adresse : ""
J'ai récupéré cette macro sur le net qui fonctionne très bien mais je n'arrive pas à la lancer sur l'intégralité du classeur.
Merci pour votre aide,
Shu
Auriez vous sous la main une macro pour modifier la racine de liens hyper text sur l'intégralité d'un classeur ?
Je n'ai pas d'exemple à partager désolé.
Pour faire simple le classeur possède de très nombreux onglets et des liens hyper text éparpillés de partout.
L'adresse du serveur vient de changer et je dois corriger cette racine.
Ex. : Ancienne adresse : "Lien supprimé"
Nouvelle adresse : ""
J'ai récupéré cette macro sur le net qui fonctionne très bien mais je n'arrive pas à la lancer sur l'intégralité du classeur.
VB:
Sub Modifier_lien()
Dim Doc As Workbook
Dim Cell As Range
Dim OldStr As String
Dim NewStr As String
Dim OldHp As String
Dim NewHp As String
'Chemin à modifier
OldStr = "\\Ogidoc1\Doc OGI\"
NewStr = "\\ogi.local\racineogi\data\OGIDOC\Doc ogi\"
Application.Calculation = xlManual
Set Doc = Application.ActiveWorkbook
For Each Cell In Selection
'Verifie si la cellule contient des liens hypertexte
If Cell.Hyperlinks.Count > 0 Then
'Recupère l'adresse du lien sous forme de chaine
OldHp = Cell.Hyperlinks(1).Address
'Remplace l'ancienne chaine par la nouvelle
NewHp = Replace(OldHp, OldStr, NewStr)
'Supprime tous les liens hypertexte de la cellule
Cell.Hyperlinks.Delete
'Affecte le nouveau lien hypertexte
Doc.ActiveSheet.Hyperlinks.Add Anchor:=Cell, Address:=NewHp
End If
Next Cell
Application.Calculation = xlAutomatic
End Sub
Merci pour votre aide,
Shu