Remplacement dans un lien HyperText

  • Initiateur de la discussion CC_TiGeR
  • Date de début
C

CC_TiGeR

Guest
Bonjour à tous et à toutes :eek:)

J'espère que tlm va bien ?

Je vous écrit ce ptit post pour vous poser une question concernant la fonction remplacer / rechercher d'XL.

Je souhaite remplacer toutes les occurences "offre_de_prix" qui apparaissent dans ma feuille XL par l'occurence "OFFRES" le problème c'est que j'ai énormément de liens hypertext qui contienent offres_de_prix et ceux ci ne sont pas modifiés !!!

Comment faire pour les modifiés avec CTRL + H ???

Merci d'avance de la réponse :eek:)


XXXXXXXXXXXX

CC
 
M

michel

Guest
bonsoir CC_Tiger

la macro ci dessous permet de remplacer un mot , ou un ensemble de mots dans toutes les cellules d'une feuille contenant un lien hypertexte .

Sub RemplacementTexteDesLiens()
Dim Cell As Range
Dim Txt As String

On Error Resume Next
For Each Cell In Sheets("Feuil1").UsedRange.Cells
Txt = Cell.Hyperlinks(1).TextToDisplay
Cell.Hyperlinks(1).TextToDisplay = Application.Substitute(Txt, "Ancien", "Nouveau")
Next Cell
End Sub


bonne soiree
MichelXld
 
C

CC_TiGeR

Guest
Bonjour michel, bonjour le forum,

Merci de ta réponse, je pense que je suis sur la bonne voie mais je n'arrive pas à faire fonctionner ta macro

(J'utilise XL 97)

En fait voici ce que je cherche à faire

Remplacer une partie des liens suivants

http://test/Cedric/Offres_de_prix/2004/0648540A.zip
http://test/Cedric/Offres_de_prix/2004/0648541A.zip
http://test/Cedric/Offres_de_prix/2004/0648542A.zip

par çà :

http://test/Cedric/OFFRES/2004/0648540A.zip
http://test/Cedric/OFFRES/2004/0648541A.zip
http://test/Cedric/OFFRES/2004/0648542A.zip

Ma feuille s'appelle GLOBAL, donc en théorie ca doit donner ceci :

Sub RemplacementTexteDesLiens()
Dim Cell As Range
Dim Txt As String

On Error Resume Next
For Each Cell In Sheets("GLOBAL").UsedRange.Cells
Txt = Cell.Hyperlinks(1).TextToDisplay
Cell.Hyperlinks(1).TextToDisplay = Application.Substitute(Txt, "Offres_de_prix", "OFFRES")
Next Cell
End Sub

Mais ça ne marche pas peux tu m'aider à trouver l'erreur ?

Merci d'avance

XXXXXXXXXXXXXXXXXXXXx

CC
 
M

michel

Guest
bonjour CC_Tiger

effectivement TextToDisplay ne fonctionne pas avec Excel97
par contre en te relisant je ne sais plus trop si tu veux modifier le lien hypertexte ou uniquement le texte qui s'affiche dans la cellule .
dans le doute j'ai mis à jour la macro avec les deux options pour que tu puisses choisir ce qui t'interesse

Sub RemplacementTexteDesLiens97()
Dim Cell As Range
Dim Txt1 As String, Txt2 As String

On Error Resume Next
For Each Cell In Sheets("Feuil1").UsedRange.Cells
Txt1 = Cell.Hyperlinks(1).Address'le lien hypertexte
Txt2 = Cell.Hyperlinks(1).Range'le texte affiché dans une cellule contenant un lien( excel97 )
'pour excel2002 possibilité d'utiliser :
'Cell.Hyperlinks(1).TextToDisplay
Cell.Hyperlinks(1).Address = Application.Substitute(Txt1, "ancien", "nouveau")
Cell.Hyperlinks(1).Range = Application.Substitute(Txt2, "ancien", "nouveau")
Next Cell
End Sub


bon apres midi
MichelXld
 
C

CC_TiGeR

Guest
Bonjour Michel, bonjour le forum :eek:)

MERCIIIIII !!!!

Désolé d'utiliser les CAPS mais là c'est trop bon :eek:)

Super génial :eek:)

En fait c'était les adresses que je voulait modifié :eek:)

Ca marche super bien maintenant

XXXXXXXXXXX

CC
 
M

Michton

Guest
bonjour le forum

je ne comprends pas ca ne marche po :'((

pourtant je n ai po de prob de version d excel ( office 2000 )

help

voila mon code

Sub remplacervtlres23parfrvtlw03()
Dim Cell As Range
Dim Txt As String

On Error Resume Next
For Each Cell In Sheets("lien-fichier").UsedRange.Cells
Txt = Cell.Hyperlinks(1).TextToDisplay
Cell.Hyperlinks(1).TextToDisplay = Application.Substitute(Txt, "vtlres23", "frvtlw03")
Next Cell

End Sub
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 207
Membres
103 157
dernier inscrit
youma