ComboBox en cascades

Bonjour à tous !!

Je viens vous exposer un problème que je n'arrive pas à comprendre sur des ComboBox que j'essaie d'utiliser en cascade dans un User Form.

Dans le fichier joint il y a quelques listes, un UF et ses ComboBox.
Pour l'instant la ComboBox_Gen ne m'intéresse pas.
Je souhaite sélectionner une valeur dans ComboBox_Var et qu'en fonction de cette valeur la ComboBox_Multi me propose un choix filtré de valeurs.
Je réussis à obtenir ce que je veux en choisissant la valeur "CHEVIGNON" dans la ComboBox_Var, et j'obtiens bien "Chevignon_Multi1" et "Chevignon_Multi2" dans ma ComboBox_Multi.
Dès lors que je sélectionne la valeur "EXTASE" ou bien "SACRAMENTO" dans la ComboBox_Var, je suis en erreur.

Je crois comprendre que le soucis viendrait du Offset de ma variable MC et de la disposition des données sur la Feuil1 mais je ne trouve pas plus de choses...

Merci beaucoup de votre aide !!

A bientôt !
22test-combobox.xlsm (22.90 Ko)

Bonjour

Ci joint ma solution

14test-combobox.xlsm (26.30 Ko)

A+ François

Bonjour Patafoin,

Il y a une erreur dans la plage de recherche qui retourne A3 pour EXTASE

Et donc pour MC.Offset(0, 3).Value donne "Chevignon_Multi1"

Bonjour fanfan38, je remarque que vous postez systématiquement "voici ma solution"

1) la personne qui cherche une solution au même problème est obligé d'ouvrir votre fichier
2) vous n'indiquez pas quel est le problème à la base et quel correctif vous avez appliqué

Pensez-vous que ce soit constructif ?

A+

Bonjour à tous les deux,

@ fanfan38 : je vois ta proposition, cependant cela demande de déclarer chaque liste de valeurs pour couvrir tous les résultats possibles retournés par la ComboBox_Var... Or il me semblait avoir déjà réussi à ne pas procéder comme cela et que ce soit plus "simple" à l'écriture du code.

@JExceL2fr : comment pourrait-on redéfinir la plage pour qu'elle couvre les 2 autres valeurs ? Ou alors ce sont les données qui sont mal disposées sur la Feuil1 ?

Merci,

Patafoin

Re,

"comment pourrait-on redéfinir la plage pour qu'elle couvre les 2 autres valeurs ?
Ou alors ce sont les données qui sont mal disposées sur la Feuil1 ?"

Tout dépend de ce que vous aurez en nombre de liste multi !?

Cordialement

Re,

A la fin il y aura environ 60 listes déclarées comme celles "CHEVIGNON", "EXTASE", "SACRAMENTO" que l'on retrouvera dans le gestionnaire de noms.

Merci,

Patafoin

Bonjour,

C'est un truc comme ça que tu cherches ?

12testcbo.xlsm (21.82 Ko)

A+

Bonjour galopin01,

C'est bien cela que je cherche à faire oui.

Cependant j'avais réussi dans un précédent fichier il y a quelques années mais je n'arrive pas a réécrire correctement les choses ici.

Voici le fichier ci-dessous qui était bon, j'ai supprimé quelques data mais l'UF fonctionne sur ce que je veux reproduire.

Merci,

Patafoin

14transport.xlsm (72.56 Ko)

Bonjour,

Désolé votre fichier est incompréhensible (surtout vos listes et vos combo)

Pour faire vis combo en cascade utilisez des listes baties sur mon modèle.

A chaque ligne d'un nom colonne A doit correspondre une famille colonne B

Donc s'il y a 5 enfants colonne A il y a 5 fois le nom de famille en colonne B

S'il y a des produits colonne A et un fournisseur colonne B

A chaque produit colonne A doit correspondre un ou plusieurs fournisseurs

S'il y a 2 fournisseurs différents pour le même produit il doit y avoir 2 lignes...

Les macros sont génériques vous pouvez les utilisez telle quel pour les colonnes A et B (s'il n'y a aucun titre ni en-têtes.)

A peine à modifier si vous utilisez d'autres colonnes.

A par ça on veut bien le faire si vous expliquez ou sont les regroupements, mais dans vos listes, on ne voit pas bien quoi regrouper.

A+

Bonjour galopin01,

Merci pour votre réponse !!! Je comprends mieux la construction des données avec votre explication.

Mon fichier proposé date un peu et j'avoue ne plus trop me souvenir comment j'avais fait (et je ne suis pas expert VBA non plus...) !

Si je souhaite ajouter une 3e combobox en cascade, et du coup utiliser la colonne C également, quel serait le changement sur le code ? Par ailleurs est-il possible que la colonne A renvoie dans une combobox plutôt que dans une listbox ?

Merci beaucoup,

Patafoin

Ça doit être possible car on peut utiliser un dico comme argument de dico. Euh... Il faudrait que je retrouve : Ce n'est pas ma tasse de thé quotidienne !

Il faut une troisième colonne qui permette le 3ème filtrage

Prénom > Nom > Sexe...

Objet > Fournisseur > Transporteur...

A+

Bonjour le fil,

@Patafoin, vous voulez ajouter une 3ème combobox qui contiendrait quoi ?

A+

J'ai l'impression qu'hier je t'ai envoyé ton propre classeur vide, voici un autre exemple simpliste.

19wdic.xlsm (98.75 Ko)

A+

Salut Galopin01

Par rapport à ton code, voici juste une information concernant 2016

https://support.microsoft.com/fr-fr/office/sp%C3%A9cifications-et-limites-relatives-%C3%A0-excel-167...

En voilà une découverte !

mdr3

Cette macro est très limitée pour 2 raisons. La première est qu'elle est issue de bribes de macro pompées rapidement sur Boisgontier dans un autre contexte...

D'autre part il ne me viendrait pas à l'idée d'utiliser AddItem pour de très grand tableaux. Pour ce genre de question on est en général avec des débutants et j'essaie de leur donner des trucs à leur portée. Pour des cascades de grandes envergures on utiliserait des Dictionnary...

A+

Re,

C'était juste une remarque pour le nombre de ligne indiqué dans le code, 2016 ne se limite plus à 65.000 lignes

Bonjour,

A+

Bonjour à tous,

Désolé de ne reprendre le sujet que maintenant mais je suis passé à autre chose entre deux...

6classeur1.xlsm (23.27 Ko)

@galopin01 :

- Si je reprends ton dernier exemple simpliste en transposant avec mes données (fichier joint), je n'obtiens pas exactement ce que je souhaite. En l'occurence lorsque je choisis Gen = "G3/G4" et Var = "KWS EXTASE", j'obtiens tous les Multi, or je ne devrais obtenir que le Multi "A". Il faut réussir à concatener les info "Gen" + "Var" pour conditionner l'affichage de "Multi" ?

- Est-il possible qu'en cas de doublons la ComboBox2 ("Var") n'affiche qu'une seule fois chaque valeur ?

Merci beaucoup pour votre aide !

Bonjour à tous,

Est-ce que quelqu'un aurait une idée pour pouvoir me débloquer s'il vous plaît ?

Merci beaucoup !

Bonjour à tous,

A force de persévérance et avec mon niveau amateur, j'ai trouvé une structurations des données en tableaux et un code qui me permettent d'arriver au résultat voulu : des ComboBox qui se filtrent en fonction des valeurs d'autres ComboBox (cf : fichier joint).

Je pense que l'on peut facilement arriver à ce même résultat de manière plus simple mais je ne sais pas comment faire.

Merci à vous en tout cas !

Rechercher des sujets similaires à "combobox cascades"