Sub TransfertLien()
Transfert [B1:B25], 36 'à adapter
'autres colonnes
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
DoubleClic [B1:B25], 36, Target, Cancel 'à adapter
'autres colonnes
End Sub
Sub Transfert(Source As Range, col_dest#)
Dim t$(), i&
Application.ScreenUpdating = False
With Source
.Copy
.Columns(col_dest).PasteSpecial xlPasteFormats 'stockage des formats
ReDim t(1 To Source.Count, 1 To 1) 'matrice, plus rapide
For i = 1 To UBound(t)
If Source(i).Hyperlinks.Count Then
t(i, 1) = Source(i).Hyperlinks(1).Address
Source(i).Hyperlinks(1).Delete
End If
Next
.Columns(col_dest) = t
.Columns(col_dest).Copy
.PasteSpecial xlPasteFormats 'restitution des formats
.Cells(1).Select
End With
Application.CutCopyMode = False
End Sub
Sub DoubleClic(Source As Range, col_dest#, Target As Range, Cancel As Boolean)
If Intersect(Source, Target) Is Nothing Or Target(1, col_dest) = "" Then Exit Sub
Cancel = True
ThisWorkbook.FollowHyperlink Target(1, col_dest)
End Sub