Activation de liens hypertextes obtenus par concaténation

Bonjour à tous,

j'ai crée un tableau avec n lignes et deux colonnes: dans les cellules de la colonne A figurent les noms des produits vendus, et dans les cellules de la colonne B un lien hypertexte vers la fiche technique dudit produit.

Le produit est sélectionné grâce à une zone de liste déroulante, puis la macro mouline sur le lien qui est donc juste à droite, et fait apparaître la fiche technique. Cela fonctionne bien tant que le lien est construit à l"ancienne", en allant chercher le fichier.

Quand j'utilise la concaténation pour créer le lien, cela ne marche plus, même si le lien obtenu par concaténation lui fonctionne aussi.

Voici le code qui fonctionne avec les liens hyp tradi mais pas concaténés:

Sub recherche_fiche_fabrication()

Dim i As Variant

Sheets("GESTION DOCUMENTAIRE").Activate

i = Range("A1").Value

Sheets("bdd").Activate

Cells(i, 2).Select

ActiveCell.Hyperlinks(1).Follow

End Sub

J'ai trouvé un post qui évoquait ce sujet sur un site anglophone, avec des fonctions que je ne connais pas: "explorer.exe " & Range("h2").Text

Merci d'avance de votre aide.

Bonsoir,

Le lien concaténé utilise par défaut une adresse relative pour ton fichier contenant la fiche technique si l'adresse de ce dernier est contenue dans le répertoire où est ouvert ton classeur. C'est peut être là l'origine de ton problème.

Ceci se vérifie aisément en faisant un clic droit sur le lien et en exécutant l'action "modifier le lien". L'adresse du lien apparaît alors, soit relative (pas de lecteur affiché), soit absolue (avec lecteur affiché).

Bonjour,

Merci de votre réponse.

L'option 'modifier le lien' n'est pas dispo dans ce cas. Je continue de chercher, mais je ne parviens à rien pour le moment.

Bonjour,

Je ne connais pas ton fichier ... et tes contraintes ...

Mais, sur le principe, il n'existe pas de différence d'activation entre un lien hypertexte standard et un lien hypertexte 'concaténé' ...

Peux-tu joindre ton fichier ...?

pierrebastres a écrit :

L'option 'modifier le lien' n'est pas dispo dans ce cas.

Si cette option n'est pas disponible, c'est que ta feuille est protégée ou que le lien n'est pas valide.

Bonjour,

Voici la trame du fichier.

Une précision sur les liens concateners: ils fonctionnent qd. Par contre je ne vous ai pas joint les fiches techniques sensées s'ouvrir.

Encore merci.

Pierre

Bonjour Pierre,

Merci pour ton fichier ..

Avant d'aller plus loin ... au premier coup d'oeil ... je constate que

1 dans le tradi ... tu utilises /

2. dans le concaténé ... tu utilises \

Bonjour,

Tes liens en hypertexte traditionnel sont en adresse relative, l'adresse définitive sera donc obtenue selon le répertoire où est ouvert le classeur. A priori donc tout utilisateur aura accès à ta fiche produit s'il ouvre ton classeur dans le bon répertoire.

Tes liens en hypertexte concaténé sont en adresse absolue, liée à ton profil (C:\users\Bastres). Tu seras donc le seul à pouvoir avoir accès aux fiches produit via ces liens.

Cette adresse absolue ne correspond d'ailleurs sûrement pas à l'adresse finale obtenue avec tes liens en hypertexte traditionnel.

Re,

j'ai remplacé les / par \, pas de changement.

Vous m'avez peut-être déjà donné la solution au problème mais je ne l'ai alors pas comprise: par exemple est ce que modifier les adresses absolues en relatives est une solution? Si oui comment faire?

Merci.

Pierre

J'ai transformé les liens relatifs en lien absolus, mais pas d'améliorations.

Thev, les liens tradi et concateners font référence au même fichier de destination.

pierrebastres a écrit :

J'ai transformé les liens relatifs en lien absolus, mais pas d'améliorations.Thev, les liens tradi et concateners font référence au même fichier de destination

Pouvez-vous reposter votre fichier après votre modification et préciser le répertoire où se trouvent vos fichiers produits.

Vous trouverez le chemin du répertoire dans lequel se trouvent les fichiers produits en C1 de l'onglet "bdd".

Bonjour,

L'adresse absolue de votre fichier produit1 est donc :

C:\Users\Bastres\Desktop\PIERRE\PRO\ANTOLA COOP\CLIENTS\ARNABAR\ARNABAR GESTION DOCUMENTAIRE\ENREGISTREMENTS\Fiche%20fabrication%20PRODUIT%201.docx

remarque 1

Il vous manque dans le lien hypertexte concaténé le nom du fichier et comme cela a été dit par James, les slashes (/) sont sûrement à remplacer par des antislashes(\). Dautre part, il serait mieux d'éviter les blancs dans les noms de fichier ou de répertoire et de les remplacer par des underscores, comme ceci

C:\Users\Bastres\Desktop\PIERRE\PRO\ANTOLA COOP\CLIENTS\ARNABAR\ARNABAR GESTION DOCUMENTAIRE\ENREGISTREMENTS\Fiche_fabrication_PRODUIT_1.docx

remarque2

L'adresse dans vos liens tradi est toujours relative :

ENREGISTREMENTS\Fiche%20fabrication%20PRODUIT%201.docx

cela signifie que votre classeur de trouve dans le répertoire :

C:\Users\Bastres\Desktop\PIERRE\PRO\ANTOLA COOP\CLIENTS\ARNABAR\ARNABAR GESTION DOCUMENTAIRE

Pour obtenir une adresse absolue, 2 solutions :

1- mettre votre classeur dans un répertoire distinct de celui où se trouvent vos fichiers produits

2- désactiver l'option d'adresse relative : fichier --> options --> options avancés -->Général --> Options Web --> Fichiers --> décocher mise à jours des liens lors de l'enregistrement

remarque3

Le positionnement de votre classeur et des fiches produits dans votre profil (C:\Users\Bastres\...) implique que vous serez le seul à pouvoir utiliser vos liens hypertexte.

Encore merci pour votre persévérance Thev!

Sur le fichier joint:

  • Le nom du fichier dans le lien concaténé n'est pas manquant, il correspond à A2 dans la formule de concaténation (si j'ai bien compris votre remarque)
  • : les liens sont absolus: l'option" --> options --> options avancés -->Général --> Options Web --> Fichiers -->" est décochée
  • les / sont remplacés par des \
  • les espaces ont été remplacés par des _

Résultat:

  • les liens marchent fonctionnent toujours, en tradi et en hypertexte
  • la macro ne fonctionne que pour le lien tradi

Donc: c'est bien la formule Cells(i, 2).Hyperlinks(1).Follow qui ne peut fonctionner avec un lien concaténé.

Comme je le disais sur mon premier post, j'ai trouvé uné évocation de ce pb sur un forum américain, et il était fai tréférence à l'obligation d'avoir recours à qq chose du type "explorer.exe " & Range("h2").Text.

Thev, j'ai résolu le pb:

ça marche avec:

Shell "explorer.exe " & ("C:\Users\Bastres\Desktop\PIERRE\PRO\ANTOLA COOP\CLIENTS\ARNABAR\ARNABAR GESTION DOCUMENTAIRE\ENREGISTREMENTS\" & Cells(i, 1) & ".docx")

Encore merci et à une autre fois!

pierrebastres a écrit :

Le nom du fichier dans le lien concaténé n'est pas manquant, il correspond à A2 dans la formule de concaténation

A2 correspond au texte affiché pour le lien. Le nom du fichier doit être dans le lien.
Rechercher des sujets similaires à "activation liens hypertextes obtenus concatenation"