Liste dépendante + lien hypertexte

Bonjour

Je souhaiterais mettre en place une liste dynamique dont les données varieraient en fonction du contenu d'une cellule et que les données de cette liste puissent être des liens cliquables vers les données contenues.

Je mets un exemple ci-joint, il faudrait qu'en fonction de la valeur de la cellule en colonne A de l'onglet Base, la liste en colonne B de l'onglet base me renvoie les données correspondantes de la colonne B de l'onglet Bdd, et que je puisse en faire des liens cliquables pour me rendre directement sur la commande correspondante en fonction de la valeur de la liste.

Pensez-vous que cela soit possible ?

Merci pour votre aide

11template.xlsx (13.42 Ko)

Je suis parvenu à afficher ma liste de commandes en forme de texte avec la combinaison des formules TABLEAU.EN.TEXTE + FILTRE, mais je préférerais afficher les résultats sous forme de liste déroulante, pensez-vous que cela soit faisable ?

capture

Bonjour Lydecker,

Dis-moi si je comprends bien ta demande...

En A2 de l'onglet "Base", tu as "bonbons" et tu voudrais qu'en B2 il y ait une liste déroulante ne comprenant que les N° de commande pour "bonbons", et que si tu cliques sur un N° de commande cela t'envoie directement sur la commande choisie (d'ailleurs où est cette commande : onglet dans ce fichier, classeur séparé,autre type de fichier ?)

Est-ce que j'ai bien compris ?

Bonjour Thierry

Merci pour ta réponse j'ai réussi à mettre en place quelque chose qui répond à mon besoin en passant par la formule FILTRE, je mets l'exemple en PJ ça devrait être un peu plus clair.

J'ai juste une dernière sollicitation pour aller au bout de ma démarche

Je souhaiterais que quand je clique sur lien hypertexte de la colonne "Vue commande" de l'onglet Base, je sois renvoyé vers la valeur correspondante de l'onglet Bdd mais également qu'un filtre automatique sur cette valeur soit mis en place, afin de ne faire apparaitre que le numéro de commande correspondant.

Pensez-vous que cela soit faisable ?

5template.xlsx (12.61 Ko)

Bonjour Lydecker,

Un début de solution....

' A copier dans un module standard
Option Explicit

Public NumCde As String

Sub Filtre(ByVal NumCde As String)
Sheets("Bdd").Range("$A$1:$B$" & Range("A1000000").End(xlUp).Row).AutoFilter Field:=1, Criteria1:=NumCde
End Sub

'A copier dans le module de Feuille Base

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
NumCde = Range(Target.Range.Address).Offset(0, -1)
Call Filtre(NumCde)
End Sub
3test.xlsm (17.12 Ko)

Bonjour Thierry

Merci beaucoup ça me semble parfait, je tenterais de l'intégrer dans mon fichier final et je vous dirais ce qu'il en est

Bonjour Thierry

J'ai tenté d'intégrer ta macro dans mon fichier mais cela ne semble pas fonctionner.

Je pense que le souci est lié au fait que dans le fichier test il n'y a qu'une seule colonne avec des liens hypertexte, alors que sur mon fichier j'ai plusieurs colonnes dans la même feuille qui contiennent des liens hypertexte vers des feuilles différentes

Je vais essayer de creuser le sujet

Bonjour Lydecker,

Si le fichier est structuré de la même manière (numéro de commande à gauche du lien), ça devrait fonctionner. Sinon, tu devras ajouter des conditions (If ou select case), par exemple :

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Select Case Target.Range.Column
    Case Is = 3 ' Colonne C
        NumCde = Range(Target.Range.Address).Offset(0, -1) 'Cellule immédiatement à gauche du lien
    Case Is = 6 'colonne F
        NumCde = Range(Target.Range.Address).Offset(0, -4) 'Cellule 4 colonnes à gauche du lien
End Select
Call Filtre(NumCde)
End Sub

Tu peux également passer la colonne de filtre (onglet Base) en paramètre de la macro Filtre pour changer ta zone de filtrage sur l'onglet Bdd

Rechercher des sujets similaires à "liste dependante lien hypertexte"