Liste déroulante

Bonjour à tous,

J'ai un tableau avec différents niveaux :

  • Un premier avec des Ø
  • Un second avec des épaisseurs
  • Et un troisième avec des normes

Je souhaiterai pouvoir avoir une liste déroulante avec le premier niveau, ensuite celui-ci limite le choix du second et ainsi de suite pour le troisième.

Merci par avance pour votre aide !

Diane

15classeur2.xlsx (75.05 Ko)

bonjour

un essai par formules avec choix intuitif du diametre ; le reste suit automatiquement

14diane-fau.xlsx (81.62 Ko)

cordialement

Bonjour,

cf PJ

La disposition n'a pas été modifiée.

Ceuzin

11dv3nivspecial.xlsm (20.07 Ko)

Bonjour,

et Salut à Tulipe !

Avec ce type de disposition, c'est de la gymnastique ! Voilà une proposition composite :

1) Ajout d'une colonne au Tableau, en A, masquée, sans ligne vide, avec une formule qui récupère sur chaque ligne le diamètre de ta colonne B (anciennement A) aux cellules fusionnées. C'est cette nouvelle colonne A qui prend le nom Diamètre, nom incluant l'en-tête en A2.

NB- Les modifications en B seront répercutées en A par la formule. Si tu devais étendre, il conviendra d'étendre également la formule...

2) Un petit zeste de VBA pour extraire une liste d'éléments uniques de la plage Diamètre (la macro est en Module1). Elle n'aura besoin d'être relancée que si on modifie le Tableau. La chose devant en principe être très occasionnelle, il suffira de la lancer au moyen de la boîte de dialogue Macro.

L'extraction par filtrage avancé peut se faire manuellement, mais c'est plus compliqué que par macro ! Avant de relancer ce filtrage, il conviendra de s'assurer que le nom Diamètre couvre bien la plage en colonne A (la définition n'étant pas dynamique, il faut la mettre à jour en cas de variation de la longueur du tableau).

3) Cette liste sur la feuille Listes est nommée List1 et alimente la liste déroulante en K5. [List1 est définie en dynamique et sera pérenne en cas de modifications.]

4) Un nom List2 est défini à partir du choix en K5, directement sur Tableau. La formule est classique (recherche avec EQUIV de la valeur K5 dans Diamètre et nombre de valeurs K5 dans Diamètre pour définir la plage en C de Tableau qui alimentera le choix 2 dépendant du premier) : la voir dans le Gestionnaire de nom. Elle alimente la liste déroulante en L5.

5) Les choix 1 et 2 combinés correspondant nécessairement à une ligne du Tableau, on calcule cette ligne dans Listes!C1 à partir des valeurs de K5 et L5.

6) En D1:D5 de Listes, on liste les valeurs constituant le choix 3 à partir des deux premiers. Formule matricielle relativement classique elle-aussi...

7) La partie occupée de la plage D1:D5 de Listes est nommée List3 (nom dynamique également). Elle alimente la liste déroulante en M5.

8) Un nouveau petit zeste de VBA : lors de modifications en K5 ou L5, les valeurs déjà sélectionnées respectivement en L5 et M5, ou en M5, demeurent, ne correspondant plus au nouveau choix en K5 ou L5. Une procédure Change permet alors de les effacer automatiquement.

Cordialement.

salut Mferrand

merci pour le point 8 (j'aurais pu ...... mais ......)

cordialement

tulipe_4 a écrit :

salut Mferrand

merci pour le point 8 (j'aurais pu ...... mais ......)

cordialement

Faut te lancer ! Même sans être familier de VBA, ça ne présente pas de difficulté...

Bonne soirée.

re

pour la reinitialisation et qques autres bricoles ,je sais faire (à force) mais pour le reste ,il me faudrai un "coach" qui me botte le train "in situ" , dans mon bled ,il y en pas

les cours par correspondances ....... je comprends vite ,mais il faut m'expliquer longtemps

cordialement

Merci à tous pour vos réponses ! C'est éxactement ce que je souhaitai, vous avez été d'une grande aide !

Avec un formulaire

Ceuzin

Rechercher des sujets similaires à "liste deroulante"