Formule lien_hypertexte // format de fichiers

Bonjour tout le monde,

Depuis plusieurs jours maintenant, je travaille à la création d’un index recensant l’ensemble des fichiers d’un répertoire documentaire. Ce répertoire est divisé en dossiers principaux, distinguant les différents types de notes (ex : 01_FACTURES ; 02_CONTRATS ; etc.), eux-mêmes composés de sous dossiers années - pour la chronologie du classement et la lisibilité des centaines de documents.

L’objectif de l’index étant d’abord de faciliter la navigation dans cette arborescence, je cherche à créer massivement des liens hypertexte ouvrant chaque document qui y est renseigné. Pour ce faire, j’utilise comme base la formule LIEN_HYPERTEXTE rédigée ainsi :

=LIEN_HYPERTEXTE([...]\01_FACTURES\"&[@[Année]]&"\"&[@[Réf. doc.]]&".doc";[@[Réf. doc.]])

Nota : la colonne « Année » renvoie à l’année d’édition du document et donc au sous-dossier dans lequel ce dernier est classé ; la colonne « Réf. doc. » reprend le titre du fichier tel qu’il est enregistré (ex réf : FACT-2010_052) ; la formule affiche la référence documentaire comme [nom_convivial] ; la formule est fonctionnelle avec les documents Word.

Afin de prendre en compte l’ensemble des variables, c’est-à-dire à la fois les différents types de note (et donc les différents dossiers racines dans lesquels aller chercher les documents) et les différents formats d’enregistrement des fichiers (.doc ; .pdf), j’ai voulu imbriqué mes formules LIEN_HYPERTEXTE dans une formule SI composée de la façon suivante :

=SI[@Type de note]="Facture";LIEN_HYPERTEXTE([...]\01_FACTURES\"&[@[Année]]&"\"&[@[Réf. doc.]]&".doc";[@[Réf.doc.]]);LIEN_HYPERTEXTE([...]\01_FACTURES\"&[@[Année]]&"\"&[@[Réf.doc.]]&".pdf";[@[Réf. doc.]]))

Certains l’auront compris, en l’état, ma formule ne permet pas de faire de distinction entre des documents Word et des documents PDF ; seuls les premiers s’ouvrent. Je crois avoir compris que si ma formule ne fonctionne pas, c’est parce que la syntaxe de la [valeur_si_vrai] est correcte du point de vue d’Excel ; l’erreur de chemin (lorsque mon fichier est un PDF et non un Word) ne composant ni une erreur de syntaxe, ni une variable logique, la formule ne renvoie pas la [valeur_si_faux].

Voilà mon problème exposé dans sa totalité. Pour sa résolution, je suis ouvert à toutes les pistes : poursuivre dans cette voie avec quelques aménagements dans la composition des formules (mais je ne crois pas cela possible…), opter pour une nouvelle synthèse de formule, voire réaliser une macro en vba. Je précisé toutefois que si cette dernière option peut sembler la mieux indiquée aux plus chevronnés, je n’ai encore jamais codé en vba (je n’ai jamais codé tout court d’ailleurs !)… j’en appellerais donc à votre pédagogie :)

Merci à tous ceux qui prendront le temps de lire ces lignes et qui tenteront de trouver une solution à cette épine. J’avoue que l’atmosphère du défi que cela soulève me plait beaucoup, mais seul, je panne un peu là :/

Alex

bonjour,

peux-tu mettre ta formule exacte ?

celle que tu as mise n'est pas correcte du point de vue de la syntaxe.

Mieux même, mets-nous un fichier exemple dans lequel tu as pu reproduire ton problème.

Salut !

Oui tu as raison il manque quelques détails importants...

=SI([@[Type de note]]="Facture";LIEN_HYPERTEXTE("[...]\01_FACTURES\"&[@[Année]]&"\"&[@[Réf. doc.]]&".doc";[@[Réf.doc.]]);LIEN_HYPERTEXTE("[...]\01_FACTURES\"&[@[Année]]&"\"&[@[Réf.doc.]]&".pdf";[@[Réf. doc.]]))

Les "[...]" correspondent aux parties du chemin que je ne renseigne pas pour éviter les lourdeur inutile ici.

Je me suis par ailleurs arrêté aux FACTURES pour le moment, préférant d'abord me concentré sur cette question de .doc et .pdf avant de poursuivre l'imbrication de formule SI avec les autres types de notes (je ne suis même pas sûr de pouvoir le faire...).

Merci de ton intérêt !

bonjour,

en soi cette formule fonctionne correctement. Si le type de note est une facture, elle crée un hyperlien vers un document .doc sinon vers un document .pdf. Probablement que le type de note n'est pas le bonne colonne du tableau pour déterminer s'il s'agit d'un .doc ou d'un .pdf.

Salut @h2so4,

Ta réponse me rend curieux ! De mon côté, je suis véridique : la formule ne fonctionne pas en l'état. Si tu l'as essayée et qu'elle fonctionne, cela peut-il être dû à nos différentes versions d'Excel ?

De mon côté, seuls les documents word peuvent s'ouvrir, ce qui implique que l'erreur ne se situe pas au niveau du [test_logique] mais bien de la bascule entre la [valeur_si_vrai] et la [valeur_si_faux]. Pour pallier la difficulté, j'ai finalement opté pour une option intermédiaire : rajouter une colonne où je renseigne pour chaque document l'extension du fichier. Voici donc la nouvelle formule :

=SI([@[Type de note]]="Facture";LIEN_HYPERTEXTE("[...]\01_FACTURES\"&[@[Année]]&"\"&[@[Réf. doc.]]&[@[Extension de fichier]];[@[Réf.doc.]]);"")

Merci encore pour tes retours :)

bonjour,

Ta réponse me rend curieux ! De mon côté, je suis véridique : la formule ne fonctionne pas en l'état. Si tu l'as essayée et qu'elle fonctionne, cela peut-il être dû à nos différentes versions d'Excel ?

n'ayant pas ton fichier (exemple ou réel), j'ai dû en créer un pour tester et adapter la formule au fichier que j'ai créé. Je me rappelle maintenant que ref.doc. posait problème car écrit de différentes façons dans ta formule (tantôt avec des espaces, tantôt sans espace).

d'où l'intérêt de mettre ton fichier ou un fichier exemple représentatif de ton classeur.

Rechercher des sujets similaires à "formule lien hypertexte format fichiers"