Fonction pour tester lien hypertexte (excel) [Résolu/Fermé]

Signaler
-
 anthony -
Bonjour,

j'ai mis en place la fonction LIEN_HYPERTEXTE avec la concaténation et ça donne ça
=LIEN_HYPERTEXTE($T$4&F8&"\"&D8&C8&"_"&K8&TEXTE(H8;"jjmmaa")&".pdf";K8)
il s'agit d'une base de données avec des numéros de documents (C8), des indices de révision (D8), des noms de fournisseurs (F8), une date de réception de l'accusé de réception (H8) et la réponse de l'AR : Accepté, accepté avec commentaire ou Refusé (K8).
voici ce que ça donne sur un exemple :
C:\Users\thony\Desktop\SOCIETEBIDULE\A8230835_A140610.pdf
et ainsi sur ma colonne L j'ai immédiatement les AR en liens hypertexte sans aller les pointer.

maintenant voici ma question. existe-t-il une fonction ou formule à intégrer pour faire apparaître si oui ou non le fichier est bien là ou non ?
là actuellement il n'y a qu'en cliquant sur chaque ligne de la colonne L que je sais si le fichier est bien présent or il faudrait le savoir sans avoir à cliquer

merci à vous

8 réponses


Bonsoir

J'ai eu un problème un peu similaire, je l'avais résolu avec une macro qui reconfigure les liens hypertexte.
Si le fichier est bien présent le texte d'appel du lien hypertexte passe en bleu souligné. Sinon il y a erreur le texte reste en couleur noire.
Je ne sais pas si c'est vraiement ce que tu cherchais.

Cordialement

agi67
5
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

là il faudrait plutôt des messages du genre "fichier trouvé" quand le lien hypertexte est bien présent et "fichier absent" lorsque le fichier de destination n'y est pas.

car je souhaite développer la fonction lien hypertexte sur autre chose.
on reçoit des listes de livraison de produits ayant une référence, un fournisseur et un numéro de lot. d'un autre côté on reçoit des procès verbaux pour chaque produit.
la personne prend la liste de livraison et va voir dnas le dossier si elle a bien un pv pour ce produit. si elel l'a elle passe à la ligne suivante, si il est absent elle le réclame. bref y a 4 pages A4 et donc ça prend du temps et pour peu d'intérêt pour elle.

mon but serait d'avoir la liste de livraison sous excel et avec la fonction lien hypertexte elle va chercher le pv pour chaque ligne.
du coup faut savoir en un coup d'oeil où sont les pv manquants sans avoir à cliquer
Messages postés
24100
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
11 juin 2021
6 801
Bonjour tout le monde,

Agi67 répondait au problème non ? Le style d'affichage n'est que la forme...

Sinon tu peux te faire une fonction personnalisée :
Function ExisteFichier(nomfic As String) As Boolean
    ExisteFichier = (Dir(nomfic) <> "")
End Function

retourne VRAI si le fichier existe, que tu peux tester pour afficher ce que tu veux.

eric
oui en fait Agi67 avait la solution. j'avais en tête pour filtrer sur la colonne avec absent ou présent pour faire ressortir les manquants.

question idiote pour les pro mais j'en fais quoi de la fonction ?
je dois al modifier à quel niveau et vu qu'il n'y a pas SUB ce n'est pas uen macro donc je la colle où ?
bonjour,
une question ... en fait la fonction ne se met pas à jour automatiquement, c'est à dire qu'il n'y a qu'en rentrant dans la cellule de la fonction et en faisant ENTREE que la résultat se met à jour, du coup ça fausse l'analyse si un des fichiers et qu'il n'apparaît pas comme absent en ouvrant la base excel.
y a un moyen d'y remédier ?
Messages postés
24100
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
11 juin 2021
6 801
Bonjour,

Ajoute en 1ère ligne (sous function ...):
Application.Volatile

Il faudra quand même faire F9 pour rafraichir

eric
petite question
existe-t-il une possibilité comme dans les filtres par macro d'indiquer un nom de fichier contenant certains termes avec les étoiles *A8232_D071210*.pdf
ex. =LIEN_HYPERTEXTE($T$4&F8&"\"&D8&C8&"_"&K8&TEXTE(H8;"jjmmaa")&".pdf";K8)
=LIEN_HYPERTEXTE(C:\Users\thony\Desktop\fournisseurA\A8232_D071210.pdf
pour que ce soit celui ci qui soit disponible à la place du précédent
=LIEN_HYPERTEXTE(C:\Users\thony\Desktop\fournisseurA\A8232_D071210update.pdf
Messages postés
24100
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
11 juin 2021
6 801
Pas avec cette fonction non.
Mais on pourrait imaginer que tu testes les 2 fichiers dans 2 colonnes masquées
Tu profites de ces résultats pour calculer ton lien, et tu affiches un OU de ces 2 cellules pour afficher l'existence.
eric
Bonjour eriiic,
dis moi saurais tu résoudre mon pb de suppression de lignes car de mon côté le code amélioré ne donne rien. voici le sujet :
https://forums.commentcamarche.net/forum/affich-20018505-supprimer-donnees-supperflues-excel
et voici le fichier avec le code que l'on m'a donné
http://www.cijoint.fr/cjlink.php?file=cj201012/cijKKwa0e5.xls
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 446
bonjour

la fonction ne se met pas à jour automatiquement ...y a un moyen d'y remédier ?


Oui il te suffit de rajouter cette ligne dans la fonction :

Application.volatile


Tu peux d'ailleurs te servir de la fonction d'Éric que je salue, dans une mise en forme conditionnelle en t'évitant ainsi une colonne avec une formule ainsi :

=NON(ExisteFichier(A1))
effectivement l'idée de la mise en forme conditionnelle est ne bonne idée pour gagner une colonne vu que mon tableau croisé dyanique ne fonctionne plus avec cette colonne supplémentaire.

j'ai rajouté la ligne. je suis allé modifié une lettre de mon fichier dans le repertoire mais rien ne s'est passé dans excel, j'ai toujours "ok" mais en cliquant dessus je n'ai évidemment aucun fichier.
y a-t-il un temps de rafra^chissement avec cette ligne ?
Function ExisteFichier(nomfic As String) As Boolean
Application.Volatile
ExisteFichier = (Dir(nomfic) <> "")
End Function

voici ce que j'ai écrit et en fait la différence c'est que le résultat change dès que je fais F9 si j'ai touché au nom du fichier en hyperlien alors que ça ne bouge pas si j'enlève application.volatile
Bon en fait j'ai fait le formatage conditionnel et ça résoud mon problème vu que la réponse du formatage est immédiate par rapport à la colonne qui contient la formule.

j'ai mis cellule de couleur rouge pour la condition =NON(ExisteFichier(A1))
et dès que je change quelque chose sur mon fichier ça bascule en rouge donc nickel.
je vais voir maintenant pour créer un filtre sur la couleur et pas sur le contenu comme je voulais faire.

merci à vous