Function GetFichier(chemin, monfichier) As String
'Retourne le premier fichier correspondant
With Application.FileSearch
.NewSearch
.LookIn = chemin
.SearchSubFolders = True
.Filename = monfichier
If .Execute() > 0 Then
GetFichier = .FoundFiles(1)
End If
End With
End Function
Sub RestorAddress()
Dim NomFichier As String, NouvelleAdresse As String
NomFichier = GetNomFichier(ActiveCell.Hyperlinks(1).Address)
If NomFichier <> "" Then
NouvelleAdresse = GetFichier(C:\Users",NomFichier)
ActiveCell.Hyperlinks(1).Delete
ActiveSheet.Hyperlinks.Add Anchor:=ActiveCell, _
Address:=NouvelleAdresse, TextToDisplay:=NouvelleAdresse
Else
MsgBox "L'adresse du lien de la cellule " & ActiveCell.Address & " est vide!", vbExclamation, "RestorAddress"
End If
End Sub
Function GetNomFichier(CheminFichier As String)
Dim Sep As String
Dim t
if cheminfichier="" then exit function
Sep = "/"
If InStr(1, CheminFichier, "\") > 0 Then Sep = "\"
t = Split(CheminFichier, Sep)
GetNomFichier = t(UBound(t))
End Function