Erreur 424 : Objet requis

J'ai récupéré ce code dans un fichier sur lequel à l'ouverture les liens hypertexte sont mis à jour.

Sub TEST()

Dim h1 As Hyperlink
Dim AncienLien, NouveauLien

AncienLien = "Microsoft"
NouveauLien = "TOTO"

            For Each h1 In ActiveSheet.Hyperlinks

                h1.Address = Replace(hl.Address, AncienLien, NouveauLien)

            Next h1

End Sub

Je souhaitais l'intégrer dans un fichier où les liens ont été modifiés suite a un plantage du fichier.

Le problème est que je ne sais pourquoi dans ce fichier le même code me donne une erreur 424 (Objet requis) au niveau du REPLACE.

Merci à tous.

17classeur1.xlsm (15.04 Ko)

Bonjour,

à essayer :

            For Each h1 In ActiveSheet.Hyperlinks
                tempo = h1.Address
                h1.Address = Replace(tempo, AncienLien, NouveauLien)
            Next h1

A+

Bonjour,

à essayer :

            For Each h1 In ActiveSheet.Hyperlinks
                tempo = h1.Address
                h1.Address = Replace(tempo, AncienLien, NouveauLien)
            Next h1

A+

Je n'ai plus l'erreur par contre rien ne se passe, apparemment la fonction ne trouve pas le texte.

Que devrait-il se passer ?

dans l'exemple du classeur fourni , on doit remplacer dans l'adresse de chaque lien hypertexte le mot "Vagelli" par "TOTO"

Or aucune adresse de lien ne contient "Vagelli", il n'y a donc pas remplacement ...

Que devrait-il se passer ?

dans l'exemple du classeur fourni , on doit remplacer dans l'adresse de chaque lien hypertexte le mot "Vagelli" par "TOTO"

Or aucune adresse de lien ne contient "Vagelli", il n'y a donc pas remplacement ...

A priori, la chaîne de texte n'est pas prise en entier. Les premiers caractères sont remplacé par "..\" du coup le texte a remplacer n'est pas trouvé.

Comment je peux contourner ce problème ?

annotation 2020 03 22 180957

Je ne sais pas excel gère les liens hypertexte, des fois ils sont entier et des fois ils sont raccourci avec des "..\".

Du coup, faut que je revoie tout le code pour recréer entièrement les liens sans remplacer.

Bonjour,

à essayer :

            For Each h1 In ActiveSheet.Hyperlinks
                tempo = h1.Address
                h1.Address = Replace(tempo, AncienLien, NouveauLien)
            Next h1

A+

Merci pour ta réponse, ta solution fonctionne. Mais vu les liens, va falloir que je remplace la totalité des liens.

Rechercher des sujets similaires à "erreur 424 objet requis"