Excel - Macro filtre élaboré liens hypertexte

Fermé
Marc_1023 - Modifié par Marc_1023 le 15/04/2011 à 15:09
 Marc_1023 - 19 avril 2011 à 16:24
Bonjour,

Je suis en train de créer une base de données pour stocker des articles de presse.

J'ai crée un tableur excel avec trois onglets :
Premier onglet : "Base de données"
Deuxième onglet : "Formulaire de recherche" (qui me permet de réaliser via une macro un filtre élaboré sur ma base de données)
Troisième onglet : "Résultats" (qui me permet de visualiser les lignes correspondantes à mes filtres élaborés)

Mon problème se situe au niveau de la colonne "Lien" dans ma base de données.

La colonne "lien" contient uniquement des liens hypertexte vers mes articles (au format pdf).

Quand je clique sur mes liens dans l'onglet "Base de données" mes liens fonctionnent parfaitement.

Mais si je réalise un filtre élaboré sur ma base de données et que je cherche à ouvrir mes liens dans l'onglet "Résultats" mes liens sont désactivés.

J'aimerais savoir s'il existe une solution pour résoudre ce problème.

Mon fichier : http://www.yousendit.com/download/VnByeW54bEFLVlZFQlE9PQ


Merci d'avance.

Marc.
A voir également:

7 réponses

Lyneane Messages postés 9 Date d'inscription mardi 5 avril 2011 Statut Membre Dernière intervention 15 avril 2011
15 avril 2011 à 15:34
bonjour
je viens de regarder ton fichier, essayes de faire clic droit sur ton lien, puis dans le menu déroulant tu vas sur lien hypertexte, puis tu copies l'adresse où se trouve le fichier que tu veux lier (dans adresse en bas de la fenêtre qui souvre, juste au-dessus de OK)...
0
Merci de ta réponse mais cela ne convient pas car ça revient à refaire l'ensemble des liens hypertexte or ces liens sont déjà réalisés (plus de 200)dans l'onglet base de données. Ce que j'aimerais c'est que mes liens de l'onglet base de données soient actifs suite à mon filtre élaboré.
0
Lyneane Messages postés 9 Date d'inscription mardi 5 avril 2011 Statut Membre Dernière intervention 15 avril 2011
15 avril 2011 à 16:05
en selectionnant ta colonne "H" dans ta feuille "Résultats" puis dans l'onglet "Formule" clic sur "recherche et référence", "liens_hypertexte", dans emplacement du lien tu sélectionnes ta colonne "H" de ta feuille "Base de Donnée" (celle où se trouve tes liens actifs) puis "OK"...
0
Cette solution fonctionne, mais seulement une fois. Si je fais une nouvelle recherche via mon filtre élaboré la fonction "liens_hypertexte" disparait et les liens sont de nouveau inactifs.
0

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

Posez votre question
Lyneane Messages postés 9 Date d'inscription mardi 5 avril 2011 Statut Membre Dernière intervention 15 avril 2011
15 avril 2011 à 17:26
désolée pour le moment plus d'idée... si tu trouve entre temps merci de le poster....
bon week-end
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
16 avril 2011 à 16:25
Bonjour,

Pour ne pas avoir à refaire l'extraction de la recherche et conserver ton code je me suis attaché uniquement à reconstituer ton lien (je suppose que c'est la partie qui te posait le plus de problème).
Cela suppose que les codes (en A) de 'Base de données' sont consécutifs et dans l'ordre. Sinon il faudra faire une recherche de la ligne de ce code et adapter la macro.

Reconstruire le lien :
With Sheets("Résultats")
    For lig = 2 To .[A65536].End(xlUp).Row
        .Hyperlinks.Add .Cells(lig, 8), Worksheets("Base de données").Cells(.Cells(lig, 1) + 1, 8).Hyperlinks(1).Address
    Next lig
End With
A ajouter en fin du sub tri_recherche

eric
0
Tout d'abord merci de votre aide.
La macro que tu proposes fonctionne parfaitement avec un code simple et numérique (par exemple 1,2,3). Or, mon code dans ma base de données est alphanumérique (par exemple 11_VI_2 ou 10_PVE_3). Je sais pas si c'est possible d'adapter la macro à cette spécificité ?
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
18 avril 2011 à 15:00
Oui, c'est tout à fait possible.
Il suffit de rechercher la ligne dans 'Base de données' de ton code présent dans 'Résultats' et remplacer (.Cells(lig, 1) + 1 par le n° de ligne trouvé.
Je ne peux accéder à ton fichier actuellement, si personne ne te l'a fait d'ici là je verrais ça ce soir.
eric
0
Je veux bien. Je te remercie de ton coup de main qui me rend énormement service.
-1
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
Modifié par eriiic le 18/04/2011 à 19:17
Re,

A tester :
    With Sheets("Résultats") 
        For lig = 2 To .[A65536].End(xlUp).Row 
            ligData = Application.Match(.Cells(lig, 1), Worksheets("Base de données").Range("A:A"), 0) 
            .Hyperlinks.Add .Cells(lig, 8), Worksheets("Base de données").Cells(ligData, 8).Hyperlinks(1).Address 
        Next lig 
    End With 

eric

PS: comme c'est le résultat d'une extraction j'ai supposé que le code en A était toujours existant, il n'y a donc pas de traitement d'erreur.
0
ça marche parfaitement avec cette macro. Le code en A est toujours existant donc tu as bien fait de faire sans traitement d'erreur.

Un trés grand merci à toi et à Lyneane pour votre aide qui m'a été précieuse.

Après, j'ai juste une dernière macro que j'arrive pas à adapter peut-être avez vous la solution.

Dans ma feuille "Formulaire de recherche" en C5 j'aimerais introduire une liste déroulante/ filtre qui me permette de rechercher mes articles depuis une certaine date (exprimée au format mois : par exemple mars-11 ou janvier-11)
Par exemple si je mets en C5 = fevrier-11 j'aimerais que ma macro sub tri_recherche filtre la feuille "base de données" depuis le mois de fevrier 2011. C'est à dire que seul les articles égaux ou superieurs à la date donnée soient apparents.

Les mois sont mentionnés dans la colonne B de ma feuille "base de donnees".

J'a trouvé une page sur ce site de tutoriel qui m'a permis de construire mon projet jusqu'à aujourd'hui mais celle là je n'arrive pas à l'adapter.
site : http://boisgontierjacques.free.fr/fichiers/Filtre/FiltreDate3.xls
0