Private Sub Worksheet_Change(ByVal Target As Range)
Dim chemin$, r As Range, c As Range
chemin = ThisWorkbook.Path & "\" 'adapter au besoin
Set r = Intersect(Target.EntireRow, Me.UsedRange)
If r Is Nothing Then Exit Sub
For Each r In r.Rows 'si entrées multiples (copier-coller)
r.Hyperlinks.Delete 'RAZ
If CStr(Cells(r.Row, 1)) <> "" And Dir(chemin & CStr(Cells(r.Row, 1))) <> "" Then
For Each c In Intersect(r, Me.UsedRange)
If CStr(c) <> "" Then c.Hyperlinks.Add c, chemin & Cells(r.Row, 1) 'création du lien hypertexte
Next c
End If
Next r
End Sub
Private Sub Worksheet_FollowHyperlink(ByVal h As Hyperlink)
If h.Parent.Column = 1 Then Exit Sub
On Error Resume Next
With GetObject(, "Word.Application").Selection
If IsError(.Document.Bookmarks(h.Parent)) Then h.Delete 'si le signet n'existe pas
.GoTo What:=-1, Name:=h.Parent '-1 pour wdGoToBookmark
End With
End Sub