XL 2016 Trouver toutes les combinaisons possibles avec des listes en cascade.

Niko71

XLDnaute Nouveau
Bonjour,

En fouillant dans votre magnifique forum, j'ai pu trouver toutes les combinaisons possibles à partir d'éléments de plusieurs listes.
Exemple:
Liste1 : a,b,c
Liste2: 1,2,3
Liste3: I,II,III
Donne: a1I,a1II,a1III,a2I,a2II...

Seulement, mes listes sont longues et susceptibles d'évoluer. De plus, elles sont en cascade, donc tous les éléments ne doivent pas être reliés...
Je m'en sors en mettant sous forme de tableau et en utilisant les filtres pour supprimer toutes les combinaisons impossibles. Bref, c'est pas l'idéal et devient vite ingérable.

Ma question est donc: existe-t-il une formule ou macro permettant de trouver toutes les combinaisons de listes en cascade? (À 4 niveaux dans mon cas)

Merci beaucoup :)

Niko
 

Niko71

XLDnaute Nouveau
Super merci beaucoup Amilo :)

Je ne sais pas ce qu'est Power Query, mais je vais me renseigner (et oui mes connaissances d'excel se limitent aux formules pour l'instant)
 

Niko71

XLDnaute Nouveau
Re-bonjour,

Alors après avoir regardé le fichier, il me semble que celui-ci m'apporte une solution dans le cas où tous les éléments de chaque colonne peuvent se combiner avec les autres.
Je souhaite pouvoir combiner avec des listes en cascade. Je vous mets en document joint un exemple. En mettant tout en colonne pour tout combiner, j'obtiendrai alors par exemple la combinaison: "Étape1 - Recherche d'information - Bar", ce qui ne devrait pas être une option possible.

J'espère être assez clair :oops:

Merci !
 

Fichiers joints

Amilo

XLDnaute Impliqué
Re-bonjour,

Alors après avoir regardé le fichier, il me semble que celui-ci m'apporte une solution dans le cas où tous les éléments de chaque colonne peuvent se combiner avec les autres.
Je souhaite pouvoir combiner avec des listes en cascade. Je vous mets en document joint un exemple. En mettant tout en colonne pour tout combiner, j'obtiendrai alors par exemple la combinaison: "Étape1 - Recherche d'information - Bar", ce qui ne devrait pas être une option possible.

J'espère être assez clair :oops:

Merci !
Re,

Je viens de me pencher sur le sujet et j'avoue qu'il m'a l'air à la fois "compliqué" (à mon niveau) et pas très clair,

Est-ce que la ligne que vous avez indiquée en H7:J7 correspond au résultat souhaité ?
Et le cas échéant, s'agit-il de la seule combinaison possible dans l'état actuel de votre exemple ?
Sinon pouvez-vous compléter manuellement toutes les autres combinaisons pour y voir plus clair ?

Cordialement
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonsoir
Information: Si toutes les combinaisons valides de valeurs figuraient dans un tableau, et si la recherche de la ligne de l'une d'elle au moyen d'un UserForm vous intéressait, ce problème serait facile à résoudre avec mon objet ComboBoxLiées. Il s'occuperait en toute autonomie de préparer des listes pertinentes sans doublon et classées pour les ComboBox dont on lui aura confié la charge.
 

Niko71

XLDnaute Nouveau
Bonjour,

Mes excuses si je suis pas très clair, j'ai un peu de mal avec tous ces termes.

H7:J7 représente une combinaison possible. Comme les listes sont en cascade, toutes les combinaisons ne sont pas possibles, si je choisis "recherche d'information" dans la première liste, cet élément ne pourra être combiné qu'aux éléments de la liste portant le nom "recherche d'information". Si je choisi alors "alcoolique", je ne peux combiner la suite qu'avec les éléments de la liste "alcoolique", par exemple "intimider".
Recherche d'information - alcoolique - intimider, serait alors une combinaison possible.

J'espère être plus clair :rolleyes:
Je mets à jour mon petit fichier en 2e feuille les combinaisons possibles (critère de réussite en plus). Il manque des combinaisons car j'ai fais des modifications dans mes listes, et comme j'ai tout fait à la main... Bref d'où l'utilité de trouver une solution automatique. Mais si c'est trop compliqué, c'est pas très grave!

@Dranreb: je ne comprends malheureusement pas bien. Je peux obtenir toutes les possibilités grâce à une formule, mais j'obtiens vers les 12000 lignes je crois. Après j'enlève tout ce qui n'est pas possible manuellement à l'aide des filtres, et il me reste environ 600 combinaisons.

Bref, ma demande est plus dans un but de me simplifier la vie, je ne suis pas réellement bloqué dans mon avancée. Aussi si ça vous semble trop compliqué, ou hors de la portée d'un gars qui se dépatouille mais sans plus, n'hésitez pas à me le dire. Je reviendrai de toute façon sans doute vous embêter avec autre chose :p

En tout cas merci pour votre intérêt!
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
Bonjour.
En fait je crois que je ne comprends pas du tout ce que vous voulez.
Tout ce que je peux dire c'est que si les éléments des combinaisons de votre feuille Combinaisons étaient séparés dans des colonnes différentes comme au départ, je pourrais facilement proposer ces différents éléments classés et sans doublon dans les listes de différentes ComboBox correspondantes, et chaque fois réduire automatiquement les listes de celles où on n'a encore rien choisi aux seuls éléments compatibles avec ceux déjà choisis, jusqu'à aboutissement à une seule combinaison complète.
 

Niko71

XLDnaute Nouveau
Aïe aïe aïe
Mince alors je vais pas réussir à m'expliquer correctement!
Dranreb, je ne sais pas ce qu'est une combobox, mais je ne pense pas que ta proposition puisse m'aider, merci quand même.

Tant pis pour moi, comme précisé plus haut c'est pas capital, je reviendrai vous embêter sur des sujets plus importants... Et j'espère plus simple à expliquer!

En tout cas merci beaucoup pour votre intérêt :)
 

Dranreb

XLDnaute Barbatruc
Le libellé du contrôle ComboBox dans la boîte à outils des UserForm c'est "Liste déroulante modifiable". Mais il serait plus exact de dire que c'est une zone de saisie munie d'une liste de choix possibles (mais pas obligatoire: la saisie du début est toujours plus rapide).
De toute façon on ne peut pas inventer ce qui n'est pas possible alors il faut bien laisser dans le tableau toute les combinaisons arbitrairement décidées possibles. On peut d'ailleurs aussi adapter l'UserForm pour qu'il permette, en plus de trouver toute combinaison reconnue possible, d'y ajouter une nouvelle ou d'en supprimer une. Les ComboBox gérées par l'objet ComboBoxLiées sont toutes au même niveau. On peut commencer par n'importe quel choix, qui restreindra les choix possibles des autres. Mais s'il faut impérativement que ce soit en cascade seulement dans un seul ordre fixe des choix, on pourrait à la limite ajouter du code pour mettre à False la propriété Enabled des ComboBox dans lesquels on n'a pas encore le droit de choisir quelque chose.
 
Dernière édition:

Amilo

XLDnaute Impliqué
Bonjour Noko71, Dranreb, le forum,

Merci pour vos réponses à mon précédent message,
Votre nouveau fichier est plus "garni" que le précédent avec de nouveaux éléments,
Comme pressenti, désolé de ne pouvoir vous aider sur ce problème,

J'espère pouvoir vous aider un jour sur un autre fil plus à ma portée.

Bon dimanche
 

Niko71

XLDnaute Nouveau
Bonjour à vous,

@Dranreb : je crois que je comprends un peu mieux, merci pour les détails. Effectivement, peut-être que chercher dans cette direction, sans pour autant me faire directement le travail, me permettra de me simplifier la tâche. Je me garde ça sous le coude et irai, dès que j'ai un peu de temps, voir quelques tutos explicatifs sur les notions de UserForm et ComboBox que je ne connais pas. Merci encore pour cette piste.

@Amilo : Merci d'avoir essayé! Et au plaisir d'une nouvelle question :)
 

Discussions similaires


Haut Bas