Modification de la cible d'un lien hypertexte par macro
Résolu/Fermé
MeuhMeuh07
-
Modifié par MeuhMeuh07 le 6/11/2013 à 20:07
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 - 8 nov. 2013 à 12:05
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 - 8 nov. 2013 à 12:05
A voir également:
- Excel modifier lien hypertexte en masse
- Modifier liste déroulante excel - Guide
- Modifier dns - Guide
- Lien url - Guide
- Comment modifier un pdf - Guide
- Renommer fichier en masse - Guide
1 réponse
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
643
7 nov. 2013 à 15:10
7 nov. 2013 à 15:10
Bonjour,
Cette macro ne modifie pas que le texte à afficher, elle modifie aussi le texte de la cible du lien.
Le lien lui même est dans h.Address
le texte est dans h.TextToDisplay
Donc en modifiant légèrement cette macro, voila une version qui doit fonctionner :
Ik suffit de remplacer les valeurs de oldtext et newtext pas les chaines de caractères souhaitées.
Cette macro ne modifie pas que le texte à afficher, elle modifie aussi le texte de la cible du lien.
Le lien lui même est dans h.Address
le texte est dans h.TextToDisplay
Donc en modifiant légèrement cette macro, voila une version qui doit fonctionner :
Sub HyperLinkChange()
Dim oldtext As String
Dim newtext As String
Dim h As Hyperlink
' These can be any text portion of a hyperlink, such as ".com" or ".org".
oldtext = "texte à remplacer dans le lien"
newtext = "texte de remplacement"
' Check all hyperlinks on active sheet.
For Each h In ActiveSheet.Hyperlinks
x = InStr(1, h.Address, oldtext)
If x > 0 Then
h.Address = Application.WorksheetFunction. _
Substitute(h.Address, oldtext, newtext)
End If
Next
End Sub
Ik suffit de remplacer les valeurs de oldtext et newtext pas les chaines de caractères souhaitées.
7 nov. 2013 à 15:18
7 nov. 2013 à 15:39
En mode "debug", lorsque je met le curseur sur x, il vaut 18...
Est-ce que cela peut provenir du fait que le old text et new text sont trop longs?
Merci encore
Modifié par pilas31 le 8/11/2013 à 10:53
Je n'arrive pas a reproduire cette erreur.
Par contre, juste une précision :
h.Address contient le chemin vers le document cible.
S'il s'agit d'un lien vers des cellules du classeur lui même, la cible du lien est dans h.SubAddress
Dans ce cas, il faut modifier la macro.
Cdlt
8 nov. 2013 à 10:55
Ok pour toutes ces infos. Les liens font référence à des fichiers PDF dans un dossier.
Quand j'ai raccourci le chemin d'accès à changer, apparemment ça a marché. Peut être que mon ordi n'est pas assez de mémoire pour faire tourner la macro...
En tout cas, je te remercie
Bonne journée
8 nov. 2013 à 12:05
Donc voila une info intéressante : les chemins dans les hyperliens ne peuvent pas faire plus de 255 caractères.
Bonne journée