Mise a jour des liens hypertextes

Bonjour,

J'ai créé un tableau excel qui est en quelque sorte une base données de la documentation existante dans mon entreprise.

J'ai à peu près 220 documents existants et chaque ligne du tableau renvoie vers le document en question via un lien hypertexte. Ces documents sont eux-même stockés dans notre intranet.

Le fait est que ces documents stockés dans l'intranet vont être déplacés.

Comment conserver les liens hypertexte de mon tableau excel sans les modifier un à un (car dans ce cas j'aurais 220 liens à refaire...).

Merci pour votre aide.

KAPU59

Salut,

Un peu de mal a comprendre ce que tu souhaites faire sans fichier d'exemple.

Il y a la macro suivante, qui permet de modifier les Adresses des liens hypertext en masse :

Exemple si tu change de serveur :

Ancienne valeur = "

"

Nouvelle valeur = "htt^://NouveauServeur/Mondoc.hml"

Il faut modifier les lignes :

oldvalue = "http://Ancienserveur"
newvalue = "http://nouveauserveur"

Code Macro complet ( a copier dans un module):

Faire une selection de cellule et lancer la macro.

Sub replace_change_lienhypertext()
Dim plage As Range
Dim oldvalue As String
Dim newvalue As String
Dim c As Range
Dim tempstr As String

'A modifier
oldvalue = "http://Ancienserveur"
newvalue = "http://nouveauserveur"

Set plage = Selection
For Each c In plage
If c.Hyperlinks.Count > 0 Then
 If InStr(1, c.Hyperlinks(1).Address, oldvalue) > 0 Then
        c.Hyperlinks(1).Address = Replace(c..Hyperlinks(1).Address, oldvalue, newvalue)
   End If
    End If
Next

End Sub

Dis moi si c'est ce que tu souhaites ?

Damien

Bonjour Damien,

C'est vrai je ne suis pas claire dans mes explications.

Voici un exemple concret :

Nom de la cellule 1 =

Enquête de santé (c'est le nom du document)

Le lien hypertexte sur cette cellule est le suivant : http://nom du serveur/sites/intranet/Outils/enquete_de_sante.pdf

Ce document classé dans "outils" de l'intranet va être déplacé dans un autre dossier de l'intranet.

J'en ai plus de 200 comme çà....

Suis-je plus précise ?

En fait, comment ne pas modifier les 200 liens hypertexte de mon tableau excel ?

Merci de ton aide très précieuse.

KAPU59

Re,

Si tu as avant :

http://nom du serveur/sites/intranet/Outils/enquete_de_sante.pdf que tu dois remplacer par

http://nom du serveur/sites/intranet/OUTILS22/enquete_de_sante.pdf

Par exemple alors il suffit de mettre

oldvalue = "http://nom du serveur/sites/intranet/Outils/enquete_de_sante.pdf "
newvalue = "http://nom du serveur/sites/intranet/OUTILS22/enquete_de_sante.pdf"

Et lance la macro: cela changera le lien sur tout l'onglet actif.

Autre exemple

oldvalue = "http://nom du serveur/sites/intranet/Outils"
newvalue = "http://nom du serveur/sites/intranet/OUTILS22"

Replacera tout les liens contenant http://nom du serveur/sites/intranet/Outils/...... par http://nom du serveur/sites/intranet/OUTILS22./.... As tu fait un test ?

En fait, comment ne pas modifier les 200 liens hypertexte de mon tableau excel ?

Je ne comprend pas ce que tu veux dire exactement ? Si tu ne veux pas les modifier n'y touche pas

Damien

Bonjour

Merci Damien

C'est pile poil ce que je recherchais

mes bases de données sont trimballées de serveur (ou PC) en serveur (ou PC) suivant les affectations (France ou etranger)

ça va me sauver la mise car c'est en milliers de documents que l'opération peut se faire.

merci beaucoup.

Thierry

PS: j'ai corrigé une petite erreur: il y a un "." de trop dans la 2eme expression "c.Hyperlinks(1)"

bonjour à tous

autre possibilité sans macro

dans une cellule mettre le chemin du répertoire contenant les fichiers. Ex en Z32 on met http://nom du serveur/sites/intranet/Outils/

puis dans les cellules associées aux documents on met le nom du document. Ex en B2 on met EnqueteClient.doc

puis en C2 on met = LIENHYPERTEXTE ($Z$32 & B2)

à tirer vers le bas

on peut donner un NOM à la cellule Z32 ou bien la mettre sur un onglet spécial (celui qui contient le mode d'emploi de ton fichier, je suppose que tu rédiges un petit mode d'emploi de ta gestion des documents )

il sufffit à chaque utilisateur de saisir en Z32 le chemin une seule fois et tout est à jour

Ok jmd mais si les fichiers sont rangés par un ensemble de répertoire et de sous répertoires, ça se complique un peu mais c'est une solution.

j'avais agi comme ça pour créer le lien hypertexte mais je ne connaissais pas la fonction LIENHYPERTEXTE, dans ce cas là j'aurais utilisé ta méthode.

merci, je case ça dans ma mémoire.

ça marche aussi avec des sous-répertoires

à condition que tu déplaces d'un bloc le gros répertoire qui contient tous les sous-répertoires

dans la ligne du document tu mets CheminDuSousReptoire\NomDuDocument.doc

bonjour,

je souhaiterai trouver une facon plus rapide pour imprimer des lien hypertexte.

j'ai reussi a faire une macro pour imprimer mes lien hypertexte mais le problème est le suivant.

j'ai créer un tableau pour confirmer des commande, quand je tape la référence du produit le lien hypertexte s'affiche.

le probleme c'est que si j'utilise la meme ligne pour confirmer une autre commande le lien hyper texte reste le meme que le premier.

auriez-vous une solution?

voici la macro que j'ai trouvé

' Macro5 Macro
'

'
    Range("C4").Select
    Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    ActiveWindow.Close
    Range("C5").Select
    Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    ActiveWindow.Close
    Range("C6").Select
    Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    ActiveWindow.Close
End Sub

Bonjour Damien,

J'essaye d'utiliser ta macro pour changer l'origine de mes liens hypertextes, malheuresement, je n'y arrive pas.

L'ancien lien est :

http://intranet2.travail/sites/santesecune/Controles/Indicateurs%20-%20tableaux%20de%20bord/NK0/N0T/PDP

Le nouveau est :

https://travail.sharepoint.com/sites/travail/NK0/Indicateurs%20et%20TdB/2019/N0T/PDP/PDP%202018%20en%20cours

J'ai donc mis cette macro :

Sub replace_change_lienhypertext()
Dim plage As Range
Dim oldvalue As String
Dim newvalue As String
Dim c As Range
Dim tempstr As String

oldvalue = "http://intranet2.travail.net/sites/santesecune/Controles/Indicateurs%20-%20tableaux%20de%20bord/NK0/N0T/PDP"
newvalue = "https://travail.sharepoint.com/sites/travail/NK0/Indicateurs%20et%20TdB/2019/N0T/PDP/PDP%202018%20en%20cours"

Set plage = Selection
For Each c In plage
If c.Hyperlinks.Count > 0 Then
 If InStr(1, c.Hyperlinks(1).Address, oldvalue) > 0 Then
        c.Hyperlinks(1).Address = Replace(c.Hyperlinks(1).Address, oldvalue, newvalue)
   End If
    End If
Next

End Sub

Quand je la mets en route, rien ne se passe...

Ai-je louper quelque chose?

Peux-tu m'éclairer?

Merci d'avance,

Bonne journée

Rechercher des sujets similaires à "mise jour liens hypertextes"