Liste déroulante filtrée

  • Initiateur de la discussion Initiateur de la discussion ccm6440
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

ccm6440

Guest
Bonjour a tous,
je cherche à créer deux listes déroulantes dont le contenu de la deuxième dépend du choix de la première.

Contenu de ma première liste :
Secteur: 1, 2, 3, 4, 5, etc

Contenu de ma deuxième liste en fonction du choix de la première liste:
Secteur 1: Machine1, Machine2, Machine3, etc
Secteur 2: Machine12, Machine13, Machine14, etc

Jai déja essayer de faire cela avec un modèle que j'ai trouvé sur le net mais le souci c'est que mes deux listes de choix doivent se trouver dans des cellules qui ne sont pas à cotés.
Voici mon modèle en pj.
Dans l'attente de réponses et de votre aide je vous remercie d'avance.
 

Pièces jointes

Dernière modification par un modérateur:
Re : Liste déroulante filtrée

Bonjour
Le tout est de créer deux noms, un pour la liste dédoublonnée des secteurs :
Secteur dont la formule est =BD!$D$6:$D$17 pour ton fichier je présume,
et un autre nom, Machine pour r epérer les machines correspondantes au numero choisi en Feuil1!$A$4
=DECALER(BD!$B$1;EQUIV(Feuil1!$A$4;BD!A:A;0)-1;0;NB.SI(BD!$A:$A;Feuil1!$A$4);1)

puis en Feuil1!$A$4 tu crées une validation de données, liste =Secteur, et une autre validation de données =Machine pour la cellule du choix de la machine

chose faite sur le fichier joint, mais que tu devrais revérifier car je ne suis pas certain d'avoir sélectionné tout les secteurs.

Bon courage
 

Pièces jointes

Re : Liste déroulante filtrée

C'est super
Je te remercie encore amine00z.
C'est exactement ce que je voulais et c'est vachement plus simple que ce que j'avais trouvé et avec quoi je me suis cassé la tête pendant un bon moment.
Je peux également me passer de ma deuxième feuille(BD) et tout faire sur la première. Pourrais-tu me confirmer que c'est bien possible.
Je voudrais également par la suite insérer un lien hypertexte à chaque nom de machine que j'ai essayer de faire avec clic droit mais je ne parviens pas à faire en sorte qu'il soit actif sur mon document utilisé une fois le secteur et machine sélectionnée.
 
Re : Liste déroulante filtrée

C'est super
Je te remercie encore amine00z.
C'est exactement ce que je voulais et c'est vachement plus simple que ce que j'avais trouvé et avec quoi je me suis cassé la tête pendant un bon moment.
De rien, ça fait plaisir 🙂
Je peux également me passer de ma deuxième feuille(BD) et tout faire sur la première. Pourrais-tu me confirmer que c'est bien possible.
Oui oui, c'est bien possible, si tu as compris le principe tu y arriveras sans problèmes.
Je voudrais également par la suite insérer un lien hypertexte à chaque nom de machine que j'ai essayer de faire avec clic droit mais je ne parviens pas à faire en sorte qu'il soit actif sur mon document utilisé une fois le secteur et machine sélectionnée.
Pour ça c'est le même principe : Tu fais une liste sans doublons des machines, disons dans la colonne X, et à coté (donc la colonne Y) l'adresse du lien hypertexte pour chaque machine (avec le clic droit)

Disons que le secteur est en A2 et que le nom de la machine est en B2 et que tu aie envie de voir le lien s'afficher en C2 donc tu insères en C2 la formule =SI(OU(A2="";B2="");"";LIEN_HYPERTEXTE(RECHERCHEV(B2;X:Y;2;FAUX);"Lien"))

Quand A2 et/ou B2 sont vides C2 le sera aussi, sinon tu auras le mot Lien cliquable (que tu peux remplacer par autre chose si tu veux, ou le supprimer carrément avec le ; qui vient avant pour afficher carrément l'adresse du lien)

Ravi d'avoir pu t'aider
 
Re : Liste déroulante filtrée

Ce que je voudrais en fait en prenant toujours exemple sur le même document c'est que lorsque je termine ma sélection machine en C4(Feuil1), que le nom de la machine soit toujours affiché mais également que ce soit un lien hypertexte et que chaque nom de machine ai son propre lien.
 
Re : Liste déroulante filtrée

Ca y est je suis enfin arrivé à ce que je voulais excepté pour le lien dont j'aurais voulu qu'il soit cliquable directement sur le nom machine dans ma sélection.
Si quelqu'un peux me donner la solution je lui en serais très reconnaissant.
 
Re : Liste déroulante filtrée

Ca y est je suis enfin arrivé à ce que je voulais excepté pour le lien dont j'aurais voulu qu'il soit cliquable directement sur le nom machine dans ma sélection.
Si quelqu'un peux me donner la solution je lui en serais très reconnaissant.

j'arrive Ccm, à la bourre mais j'arrive, désolé de t'avoir laissé en plan mon ami
Si tu pouvais uploader la dernière version de ton fichier, celle ou tu t'es débarassé de la deuxième feuille, avec en plus la liste des liens qui correspondent à chaque machine, ça serait génial. En attendant je vais bosser sur ta première version
 
Re : Liste déroulante filtrée

Dsl, j'ai pas pensé à garder une copie avec moi de celle qui ira bien.
Mais un modèle qui fonctionne sera je pense suffisant.
S'il faut je metterais en pj demain matin de très bonne heure.
 
Re : Liste déroulante filtrée

Dsl, j'ai pas pensé à garder une copie avec moi de celle qui ira bien.
Mais un modèle qui fonctionne sera je pense suffisant.
S'il faut je metterais en pj demain matin de très bonne heure.

Voilà c'est prêt, j'ai mis 3 liens devant les 3 premières machines du 1er secteur de la feuille BD et j'ai inséré le code suivant pour la feuil1

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Cell As Range
If Range("C4").Value <> "" And Not Intersect(Target, Range("C4")) Is Nothing Then
For Each Cell In ThisWorkbook.Sheets("BD").Range("B6:B236")
If Cell.Value = Range("C4").Value Then
Cell.Offset(0, 1).Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End If
Next Cell
End If
End Sub

En cas de double clic sur C4, et si C4 n'est pas vide, la macro cherche le nom de la machine dans la feuille BD et si elle le trouve et elle ouvre le lien qu'il y a dans la cellule juste à coté.

Tu peux tester avec une des 3 premières machines du 1er secteur. Pour que ça marche il faut activer les macros bien sur.

J'admet que le code n'est pas très optimisé mais malheureusement je ne suis pas très calé VBA, et il n'y a aucun autre moyen que le VBA pour exécuter un lien à partir d'une liste. Espérons qu'un expert passe et te donne une meilleure idée.

Salutations.
 

Pièces jointes

Re : Liste déroulante filtrée

Voici donc une copie avec laquel j'ai essayé de faire fonctionner le lien mais j'ai une erreur.
En faite on s'est mal compris sur un point, mais je pensais à une 3ème colonne avec les liens, et toi a remplacer la colonne des noms des liens

Donc pour régler le problème : double clique sur le nom de la première machine du premier secteur, l'erreur se produit, cliques sur débogage.
Remplaces
Code:
Cell.Offset(0, 1).Hyperlinks(1).Follow
par
Code:
Cell.Hyperlinks(1).Follow

cliques sur le bouton stop pour quitter le code et ça marchera tant que le lien est accessible.

En tout cas je ne saurais comment te remercier pour ton aide.
De rien c'est un plaisir 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
40
Affichages
2 K
Retour