Liste déroulante filtrée

ccm6440

XLDnaute Nouveau
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

  • Ci Meca3.zip
    65.3 KB · Affichages: 41
  • Ci Meca3.zip
    65.3 KB · Affichages: 37
  • Ci Meca3.zip
    65.3 KB · Affichages: 34
Dernière édition:

amine00z

XLDnaute Nouveau
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

  • Ci Meca3.zip
    62.8 KB · Affichages: 87
  • Ci Meca3.zip
    62.8 KB · Affichages: 66
  • Ci Meca3.zip
    62.8 KB · Affichages: 73

ccm6440

XLDnaute Nouveau
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.
 

amine00z

XLDnaute Nouveau
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
 

ccm6440

XLDnaute Nouveau
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.
 

ccm6440

XLDnaute Nouveau
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.
 

amine00z

XLDnaute Nouveau
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
 

amine00z

XLDnaute Nouveau
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

  • Ci Meca3 (1).zip
    68.8 KB · Affichages: 32

ccm6440

XLDnaute Nouveau
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 tout cas je ne saurais comment te remercier pour ton aide.
 

Pièces jointes

  • Ci Meca Liste Filtrée avec lien.zip
    57.8 KB · Affichages: 42

amine00z

XLDnaute Nouveau
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 :)