Liens hypertexte à modifier en masse

Fermé
hcasok Messages postés 110 Date d'inscription mardi 23 octobre 2007 Statut Membre Dernière intervention 3 décembre 2023 - 13 août 2013 à 12:43
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 13 août 2013 à 13:45
Bonjour,

J'ai un fichier excel qui contient une quinzaine d'onglets, contenant au total un millier de liens hypertextes. Or le chemin de ces liens a changé.

Pour éviter de tout modifier un par un, j'ai vu qu'il existait la possibilité de faire une macro pour tout changer d'un coup.

Voici ma macro (largement inspirée de ce que j'ai pu trouver sur le web)

Sub ht()
txt1 = "file:///C:\Users\8707068e\AppData\Roaming\Microsoft\Excel"
txt2 = "file:///\\xdkamnct141\users\geg\bte"
For Each ws In Sheets
For Each lnk In ws.Hyperlinks
If lnk.Address Like "*" & txt1 & "*" Then lnk.Address = Replace(lnk.Address, txt1, txt2)
Next
Next
End Sub

Est-ce correct ? Comment l'implanter dans mon fichier excel ? comment la lancer ensuite ?

Merci mille fois d'avance...



1 réponse

melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
13 août 2013 à 13:45
bonjour,

tout dépend du excel que tu as :
si tu as excel 2007, tu vas dans format, macro, nouvelle macro et dans un module, tu copies, colles ton code et tu n'as plus qu'à lancer la macro.

Si tu as excel 2010, tu vas dans l'onglet développeur, tu cliques sur visual basic, tu cliques sur Insertion et tu copies colles ton code et tu lances ta macro.

Si tu ne vois pas l'onglet développeur, tu vas dans fichier, option, personnaliser le ruban et dans la liste à gauche, tu choisi s développeur et tu l'ajoues sur la liste de droite.

ensuite tu cliques sur centre de gestion de la confidentialite,
paramètre du centre de gestion de la confidentialite, paramètres des macros et t choisis Activer toutes les macros.

tu fermes. Tu fais enregistrer sous, dans type de fichier, tu choisis (Excel prenant en charge les macros) cela t'aura créer un fichier se terminant par xlms.
Tu lances la macro.

Ton code a l'air bon.
0