Posez votre question Signaler

Modification de lien hypertexte [masse] Excel [Résolu]

Xrag - Dernière réponse le 10 mai 2015 à 19:34
Bonjour,
Donc voilà, je suis actuellement en stage dans une entreprise et j'ai besoin de modifier les liens hypertexte dans plusieurs millier de fichier Excel... Donc dans les liens j'ai des %20 qui correspondent à des espaces et j'ai besoin de les remplacer par des _ ... Je risque de passer ma vie là dessus et j'aimerais trouver un moyen rapide de tout modifier !
Merci d'avance de vos réponses ;)
Lire la suite 
Réponse
+5
moins plus
Bonjour,

Au cas où, j'ai eu moi-même ce problème de liens aà modifier en masse.

Cette macro m'a permis d'arriver à mes fins.

Attention cependant parfois la mise en page a été modifiée sur quelques cellules.

Sub Modifier_lien()


Dim Doc As Workbook

Dim Cell As Range

Dim OldStr As String

Dim NewStr As String

Dim OldHp As String

Dim NewHp As String


'Chemin à modifier

OldStr = "\\Ogidoc1\Doc OGI\"

NewStr = "\\ogi.local\racineogi\data\OGIDOC\Doc ogi\"


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
ender34- 22 août 2014 à 10:51
Merci beaucoup, cette macro m'a sauvé la vie :)
Répondre
Pierre- 2 déc. 2014 à 15:22
Merci ! Tu viens de me faire gagner un temps fou !
Répondre
Ajouter un commentaire
Réponse
+1
moins plus
Avec la fonction Rechercher et remplacer d'Excel peut-être ?

Tu sélectionnes toute la colonne (ou toute la table) dans laquelle se trouvent les liens à modifier. Tu appuyes sur CTRL+F et tu choisis l'ooption "Remplacer". Dans la boite trouver, tu mets %20% et dans celle "Remplacer par, tu mets _, puis OK
Ajouter un commentaire
Réponse
+0
moins plus
Je crois que ça fonctionne pas pour les liens hypertexte :/ Et il me faudrait un moyen qui me face tout d'un seul coup car j'ai plusieurs milliers de fichier à faire !
Bruce Willix 11743Messages postés mardi 24 mai 2011Date d'inscription ContributeurStatut 15 juin 2015 Dernière intervention - 1 juin 2012 à 14:08
Je crois que ça fonctionne pas pour les liens hypertexte :/ 


Et bien tu crois mal :-) Ca fonctionne partout, sur tout le contenu d'Excel. Attention, parske si tu lui demandes de remplacer les M par le N par exemple, il le fera absolument partout (d'ou le conseil de sélectionner d'abord la zone, sinon il fera le bazar sur toute la feuille, voire tout le classeur)

Si tu dois le faire sur plusieurs fichiers, le mieux sera de créer une macro qui les ouvrira l'un après l'autre et effectuera le Find&Replace. Mais je suis pas très calé en macros, donc je laisse à un de nos amis le soin de t'aider sur ce point précis
Répondre
romos- 10 oct. 2012 à 16:03
Perso ça ne fonctionne pas sur les lien, j'ai le message d'erreur comme quoi il n'arrive pas a trouver le contenu et ma feuille n'est pas protégé en écriture.

excel 2010.
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Ok donc je vais attendre quelqu'un qui puisse me faire la macro mais il faut supprimer les espaces juste pour les liens hypertexte ! Il faut que la macro gère les fichier qui sont dans les dossiers et sous dossiers. Merci !
Bruce Willix 11743Messages postés mardi 24 mai 2011Date d'inscription ContributeurStatut 15 juin 2015 Dernière intervention - 1 juin 2012 à 14:29
Hein ? Tu veux changer à la fois le nom du fichier et la référence du lien ?

Il ne faut pas toucher aux fichiers d'origine en théorie - juste aux liens, histoire de les rétablir.

Normalement Excel gère les espaces correctement.

Pour bien cerner le problème:

Tu as un fichier excel qui contient des hyperliens vers d'autres fichier excel. Ces fichiers ont des noms composés entre autres d'espaces. Dans ton "excel/liens", les liens hypertexte ont remplacé les espaces par %20%. Normalement ça fonctionne comme ça, mais tu veux changer les %20% par des -, et dans le même temps réécrire les noms des fichiers pour qu'il n'y a ait plus d'espaces, mais des - également ?

Am I correct ?
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Oui c'est tout à fait ça, mais nous avons déjà un programme qui nous permet de modifier le nom des fichiers, il manque juste la modification de tous les hyperliens ! Donc on veut pour résumer remplacer les %20 par des _ pour plus de lisibilité. Il y a aussi des fichiers convertit en page HTML directement via excel à modifier. ( C'est pour un site fait via Excel^^').
On a quelque chose comme 25000 fichiers à modifier...
Bruce Willix 11743Messages postés mardi 24 mai 2011Date d'inscription ContributeurStatut 15 juin 2015 Dernière intervention - 1 juin 2012 à 14:43
Donc, on s'occupe pas de renommer les fichiers. On fait juste les liens ?

Si c'est ça la méthode que je t'indique fonctionnera sans problème.
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Exactement, nous avons déjà quelque chose pour renommer les fichiers ! Mais on peut pas faire tous les classeurs à la main :/
Bruce Willix 11743Messages postés mardi 24 mai 2011Date d'inscription ContributeurStatut 15 juin 2015 Dernière intervention - 1 juin 2012 à 14:55
Tu as 25'000 fichier qui contiennent des liens ? Gasp !
Répondre
Xrag- 1 juin 2012 à 14:57
Approximativement^^'
On essaye de trouver une solution nous même actuellement on faisant une macro mais si quelqu'un en a une toute faite je suis preneur :)
Répondre
Bruce Willix 11743Messages postés mardi 24 mai 2011Date d'inscription ContributeurStatut 15 juin 2015 Dernière intervention - 1 juin 2012 à 15:02
Fait un nouveau post avec dans le titre un truc genre "help macro". Il y a quelques forumistes qui sont hyper calés et qui vont te la faire rapidement...
Répondre
Xrag- 1 juin 2012 à 15:05
Ok je vais faire ça et mettre ce sujet en résolu donc, merci de ton aide !
Répondre
Chris- 4 sept. 2013 à 10:19
Bonjour et merci, la macro marche et c'est super
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
Je suis désolé de relancer ce sujet, mais je n'arrive pas à parvenir à mes fins.

Je ne maîtrise pas du tout les macros mais j'ai quand même essayé de faire un copier/coller dans VB, dans excel de ce qui est proposé ici.

Ensuite, j'ai modifié :
'Chemin à modifier

OldStr = "\\Ogidoc1\Doc OGI\"

NewStr = "\\ogi.local\racineogi\data\OGIDOC\Doc ogi\"

Par
OldStr = "ancienne adresse de mon lien"

NewStr = "nouvelle adresse de mon lien"


Ensuite j'ai cliqué sur la petite flêche verte (exécuterSub) dans visualB mais rien ne se passe.

Je me doute que ce n'est certainement pas ce qu'il faut faire, mais est ce que quelqu'un peut me coacher "pas à pas" pour que je puisse mettre à jour ces satanés liens hypertextes qui ont changés de répertoire?

Rrrrrrrrr

Merci++++++ par avance!
cniglo 9Messages postés samedi 19 septembre 2009Date d'inscription 10 mai 2015 Dernière intervention - 10 mai 2015 à 18:35
Bonjour,

As-tu trouvé la solution?

Je suis au même point, 1ere macro et je bloque....

Merci d'avance
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

1ere macro et j'ai le même soucis que Kyomann.

Un peu d'aide pas à pas serait le bien venu.

Merci d'avance

cniglo
Kyomann- 10 mai 2015 à 18:56
J'ai malheureusement été contraint de laisser tomber....
Répondre
cniglo 9Messages postés samedi 19 septembre 2009Date d'inscription 10 mai 2015 Dernière intervention - 10 mai 2015 à 19:34
Merci quand même et bonne fin de week-end
Répondre
Ajouter un commentaire
Ce document intitulé «  Modification de lien hypertexte [masse] Excel  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.