listes déroulantes en cascade et sans doublons

rolmoobs

XLDnaute Nouveau
Bonjour à tous,

C'est mon premier message sur le forum et me voilà déjà désespéré en voyant à quel point je suis incompétent pour utiliser EXCEL.

Je travaille dans une entreprise de construction et je réalise des métrés avec le logiciel AUTOCAD. Je récupère les données de mon métré sur EXCEL selon un format unique.

J'aimerais dans une autre feuille pouvoir créer des tableaux récapitulatifs qui varient selon des valeurs de listes déroulantes (sur 3 niveaux pour commencer).

Par exemple dans le feuille 2 je voudrais pouvoir créer une liste qui me permet de choisir une valeur de ma colonne CALQUE puis dans une deuxième liste une valeur de la colonne LARG qui dépend de la valeur de la première liste. Et enfin une troisième liste qui dépend des deux premières qui permet de choisir une valeur de la colonne HAUT.

Malgré les quelques sujets que j'ai lu je n'arrive pas au bout de mes peines et j'avoue être un peu désemparé ...

Merci pour votre aide
 

Pièces jointes

  • R+1_essai_métré_automatique.xlsx
    28.3 KB · Affichages: 61

djidji59430

XLDnaute Barbatruc
Re : listes déroulantes en cascade et sans doublons

tu ne dis pas avec quelle version d'excel tu travailles ?
si c'est >= 2007, transforme tout ton fichier en tableau (insertion tableau). Tu pourras alors trier comme tu veux
tu sélectionnes ton calque, puis ta largeur, puis ta hauteur
 

Dranreb

XLDnaute Barbatruc
Re : listes déroulantes en cascade et sans doublons

Bonjour.

Si vous vous dessinez un Userform avec 3 ComboBox je vous mettrai la programmation permettant d'y faire ces choix soit dans cet ordre soit dans un ordre quelconque.
 

rolmoobs

XLDnaute Nouveau
Re : listes déroulantes en cascade et sans doublons

avec la 2013 je l'ai mis dans les balises en fait. Je ne cherche pas à transformer mon fichier en tableau car ma liste est évolutive, elle s'auto alimente en fonction de ce que je dessine dans Autocad.
 

djidji59430

XLDnaute Barbatruc
Re : listes déroulantes en cascade et sans doublons

avec la 2013 je l'ai mis dans les balises en fait. Je ne cherche pas à transformer mon fichier en tableau car ma liste est évolutive, elle s'auto alimente en fonction de ce que je dessine dans Autocad.

Un tableau s'aggrandit de lui meme (en ligne et en colonne) quand on fait des ajouts

exemple : http://cjoint.com/?DHhrnj1X6kx
 
Dernière édition:

rolmoobs

XLDnaute Nouveau
Re : listes déroulantes en cascade et sans doublons

Voyez si ça vous convient.

Merci beaucoup pour ton aide ! c'est vraiment pas mal et ça correspond presque parfaitement à ce que je voulais.

Je t'avoue cependant avoir du mal à comprendre tout le code ! Comment faire pour ne pas avoir d'erreur si l'utilisateur clique sur le bouton OK alors que les combobox sont vides ?
 

Dranreb

XLDnaute Barbatruc
Re : listes déroulantes en cascade et sans doublons

Bonjour.

Ajoutez cette instruction devant la End Sub de CL_Change :
VB:
BtnOk.Enabled = NbrLgn > 0

Il y a toutes les explications souhaitables dans le module de classe ComboBoxLiés, mais si quelque chose n'est pas clair, n'hésitez pas à me demander. Je vous explique déjà ceci :

Un module de classe est à la fois un modèle d'objet, son plan de construction et la programmation destinée à fonctionner sur les exemplaires qui en seront créés. Dans le jargon on appelle ces exemplaires des "instances" pour bien les distinguer de leur type, qui n'est autre que le nom du module de classe. Celui ci devient en effet d'office un type de donnée, de sorte qu'on peut le préciser derrière As dans une déclaration Dim. Dans la programmation extérieure au module de classe on ne voit de celui ci que les élément précisés avec le mot clé Public, mais, à la différence d'un module ordinaire, on ne peut y accéder qu'à condition de préciser devant, suivi d'un point, une instance de cet objet. Ça c'est pour que ça passe à la compilation. Pour que ça passe aussi à l'exécution, il faut en outre qu'une expression de ce type ait été affectée par un Set à votre variable d'instance. Fort heureusement, l'expression formée du mot clé New suivi du type d'objet (qui est en même temps le nom de son module de classe) forme justement une instance tout juste créée de ce type d'objet. Pour terminer, parlons de l'appellation usuelle des élements visibles de l'extérieur du module de classe, déjà vue dans l'aide de VBA à propos des objets de bibliothèques fournies : les méthodes et les propriétés. Par définition une chose déclarée Public dans un module de classe s'appelle une méthode quand il s'agit d'une Sub avec ou sans paramètre ou de toute autre sorte de procédure mais munie de paramètres (Function, Property Get ou Property Let), et s'appelle une propriété dans tous les autres cas, y compris si c'est une simple variable. Toutefois le dernier paramètre formel passé à une Property Let ne compte pas en tant que paramètre ordinaire: s'il n'y a que lui, c'est bien une propriété, au moins en écriture seule, mais également en lecture s'il y a aussi une Property Get de même nom.
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 207
Membres
103 157
dernier inscrit
youma