Fonction pour tester lien hypertexte (excel)

Résolu/Fermé
anthony - 6 déc. 2010 à 21:33
 anthony - 21 déc. 2010 à 09:08
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

A voir également:

8 réponses

Utilisateur anonyme
6 déc. 2010 à 21:51
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
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
1
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 209
6 déc. 2010 à 22:33
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
0
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ù ?
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 209
Modifié par eriiic le 6/12/2010 à 22:59
Alt+F11 pour afficher l'éditeur VBE
clic-droit sur le projet (à gauche) et 'insertion / module'
coller le code

Une fonction personnalisée s'utilise comme une fonction native d'excel.
Sur ta feuille avec un nom de fichier(avec son chemin) en A1, en B1 tu saisis :
=ExisteFichier(A1)
pour obtenir VRAI ou FAUX ou bien :
=si(ExisteFichier(A1);"ok";"absent")

eric

eric
0
ça fonctionne, merci beaucoup, je vais encore me coucher avec un meilleur niveau grâce au forum et à vous qui nous faites profiter de vos connaissances
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 209
6 déc. 2010 à 23:41
De rien :-)
N'oublie pas de mettre en résolu
0
tchernosplif Messages postés 600 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 244
6 déc. 2010 à 23:54
c'est super ça, ça va me servir; peut-on faire de même pour un lien internet ? http://...
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 209
7 déc. 2010 à 00:17
heuu, non, désolé :-)
C'est valable pour un fichier ça...
eric
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
7 déc. 2010 à 09:44
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))
0
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 ?
0
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
0
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
0