Autres Modifier lien hypertexte

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Jackwebb

XLDnaute Nouveau
Bonjour,

je suis débutant sur excel et j’ai un probleme, je travaille sur des tableau ou j'ai insèré des liens hypertextes vers des images. Le probleme c’est que jai changé les emplacements des dossiers. Du coup il ne trouve plus le chemin du dossier et donc des fichiers. J’ai 800 liens à modifier. Quelle manip simple je peux effectuer ? Merci d’avance

Tino
 
Bonjour Jackwebb,

Téléchargez le dossier joint, dézippez-le et ouvrez le fichier Liens(1).xlsm.

Les liens hypertextes des 3 images doivent fonctionner.

Ensuite déplacez les 3 images en les plaçant dans le dossier Mes images.

Cliquez sur le bouton pour modifier les liens avec la macro :
VB:
Sub Modifier_liens()
Dim chemin$, h As Hyperlink
chemin = ThisWorkbook.Path & "\Mes images\"
For Each h In [D:D].Hyperlinks
    h.Parent.Hyperlinks.Add h.Parent, chemin & Mid(h.Address, InStrRev(h.Address, "\") + 1)
Next
End Sub
A+
 

Pièces jointes

Dernière édition:
Merci pour votre réponse, sur votre document cela a marche du premier coup mais sur le mien rien, j’essaie depuis tout a l’heure, mais rien n’y fait. Cest aussi la premiere fois que je me sers de la macro. Je suis desole d’etre si debutant. Help! 😢
 
Bonjour Jackwebb,

Dans le code que j'ai donné le dossier "Mes images" est un sous-dossier du dossier où se trouve le fichier de la macro.

Si ce n'est pas le cas remplacez ThisWorkbook.Path & "\Mes images\" par le chemin du dossier des images.

Sans oublier l'antislash "\" à la fin.

A+
 
Alors on va tout vous mâcher.

Téléchargez le dossier zippé joint et extrayez l'ensemble dans le même dossier.

Ouvrez le fichier Excel, touches Alt+F8 et exécutez la macro Modifier_liens :
VB:
Sub Modifier_liens()
Dim chemin$, h As Hyperlink, nomfich$
chemin = ThisWorkbook.Path & "\Carton 1\"
For Each h In [U:U].Hyperlinks
    nomfich = Mid(h.Address, InStrRev(h.Address, "\") + 1)
    h.Parent.Hyperlinks.Add h.Parent, chemin & nomfich, TextToDisplay:=nomfich
    h.Parent.Font.Size = 16 'taille de la police
Next
End Sub
Ensuite cliquez sur un lien hypertexte en colonne U.

Ce que j'ai fait est simple :

- j'ai d'abord enregistré le fichier Excel en .xlsm (prenant en charge les macros)

- je suis allé dans VBA (Alt+F11) puis menu Insertion => Module pour créer Module1

- double-clic en haut à gauche sur Module1 et j'y ai collé le code de la macro.

A+
 

Pièces jointes

Bonjour Jackwebb,

J'ai testé sans problème la macro avec 800 liens hypertextes.

Maintenant s'il y a dans la feuille une macro Worksheet_Change il fallait le dire.

Dans ce cas il faut ajouter les Application.EnableEvents :
VB:
Sub Modifier_liens()
Dim chemin$, h As Hyperlink, nomfich$
chemin = ThisWorkbook.Path & "\Carton 1\"
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
For Each h In [U:U].Hyperlinks
    nomfich = Mid(h.Address, InStrRev(h.Address, "\") + 1)
    h.Parent.Hyperlinks.Add h.Parent, chemin & nomfich, TextToDisplay:=nomfich
    h.Parent.Font.Size = 16 'taille de la police
Next
Application.EnableEvents = True 'réactive les évènements
End Sub
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
19
Affichages
2 K
Réponses
23
Affichages
2 K
Retour