Bonjour,
A tester.
Tu sélectionnes ta plage de liens et tu lances la macro.
Cdlt
Option Explicit
Sub Modifier_lien()
Dim Doc As Workbook
Dim Cell As Range
Dim OldStr As String, NewStr As String
Dim OldHp As String, NewHp As String
'Chemin à modifier
OldStr = "///C\Users\Commercial.SIF\Destop\"
NewStr = "///\\sif_svr\commun\"
With Application
.ScreenUpdating = False
.Calculation = xlManual
End With
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