bonjour,
je dispose d'un classeur avec beaucoup de liens hypertextes, j'aimerais modifier par une macro à l'ouverture le début du chemin d'accès.
il doit passer de "Givers" à "C:" à l'ouverture du fichier.
j'ai essayé avec la macro suivante mais cela ne fonctionne pas.
Private Sub Workbook_Open()
Dim Doc As Workbook
Dim Cell As Range
Dim OldStr As String
Dim NewStr As String
Dim OldHp As String
Dim NewHp As String
OldStr = "G:\divers*"
NewStr = "C:*"
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 de votre aide
Oby1
je dispose d'un classeur avec beaucoup de liens hypertextes, j'aimerais modifier par une macro à l'ouverture le début du chemin d'accès.
il doit passer de "Givers" à "C:" à l'ouverture du fichier.
j'ai essayé avec la macro suivante mais cela ne fonctionne pas.
Private Sub Workbook_Open()
Dim Doc As Workbook
Dim Cell As Range
Dim OldStr As String
Dim NewStr As String
Dim OldHp As String
Dim NewHp As String
OldStr = "G:\divers*"
NewStr = "C:*"
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 de votre aide
Oby1