Générer des combinaisons de 8 valeurs à partir de deux listes
Bonjour à toutes et tous,
Malgré moult recherches et essais d'adaptation, je n'arrive pas à trouver de réponses à mes questions.
Je dispose de 2 listes de huit valeurs (ce sont des notes variant de 1 à 20), appelons-les liste A et liste B. Chacune des listes contient des valeurs uniques (pas de doublon au sein d'une même liste).
1) Première demande : je souhaite générer toutes les combinaisons théoriques possibles de 8 valeurs résultant de 4 valeurs prises dans la liste A et de 4 valeurs prises dans la liste B.
Liste A : A1 - A2 - A3 - A4 - A5 - A6 - A7 - A8
Liste B : B1 - B2 - B3 - B4 - B5 - B6 - B7 - B8
Début du résultat souhaité :
A1 - A2 - A3 - A4 - A5 - A6 - A7 - B1
A1 - A2 - A3 - A4 - A5 - A6 - B1 - B2
A1 - A2 - A3 - A4 - A5 - B1 - B2 - B3
Etc…
Cette première matrice obtenue est immuable pour toutes les statistiques à suivre.
2) A partir de la matrice des combinaisons obtenue, je souhaite générer automatique cette matrice théorique remplie avec de vraies valeurs selon l'évolution et le contenu de mes deux listes.
Voici quelques exemples de jeux de valeurs de départ :
1er jeu de valeurs sans doublon (très rare)
Liste A = 2, 5, 15, 18, 4, 10, 1, 8
Liste B = 12, 7, 9, 3, 11, 16, 6, 17
2ème jeu de valeurs avec doublon
Liste A = 1, 5, 11, 12, 9, 10, 14, 8
Liste B = 10, 8, 5, 9, 3, 13, 1, 16
3ème jeu de valeurs plus délicat, la liste A comporte toujours 8 valeurs et la liste B peut en contenir de 1 (au minimum) à 8 (au maximum)
Liste A = 8, 12, 14, 6, 5, 10, 1, 9
Liste B = 5, 12, 9
3) Question ultime, je ne souhaite aucun doublon dans chacune des lignes des combinaisons obtenues, ni aucune combinaison en double.
Donc, on élimine purement les doublons de valeurs dans chaque ligne de combinaisons et chaque combinaison en double.
Je souhaiterais réaliser ces 3 étapes en utilisant du code VBA et non des formules qui vont vite devenir indigestes.
Y aurait-il une bonne âme pour m'aider à réaliser ma demande ? Merci d'avance pour votre aide et suggestions.
Je joins un fichier formalisant ma demande avec 3 cas concrets.
Bonjour
En utilisant PowerQuery intégré à Excel, 70 combinaisons uniques textuelles
A noter que te demande a des contradictions
8 valeurs résultant de 4 valeurs prises dans la liste A et de 4 valeurs prises dans la liste B : A1 - A2 - A3 - A4 - A5 - A6 - A7 - B1
(on n'a pas 4 de chaque liste)
Pour les nombres repréciser...on garde des combinaisons avec seulement 5, 6 ou 7 items seulement ?
bonjour,
une proposition VBA,
mettre les listes A et B en sheet2 en B1 et B2 et lancer la macro, résultats en sheet1
Bonjour à tous,
Merci pour ta réponse 78chris.
Effectivement, tu as raison, ma demande est en contradiction avec mes exemples.
En écrivant ma demande initiale, j'étais partie sur la possibilité de générer toutes les combinaisons théoriques possibles de 8 valeurs résultant de 4 valeurs prises dans la liste A et de 4 valeurs prises dans la liste B.
Mais en réalisant mes exemples, j'ai finalement opté pour la génération de toutes combinaisons de 8 valeurs à partir des deux listes.
Je me suis quelque peu "emmêlée les pinceaux". Désolée.
Après je ne vois pas trop comment poursuivre en Power Query.
Merci également h2so4. Ta réponse correspond parfaitement à ma demande et particulièrement dans la mesure où je souhaitais une réalisation en VBA.
Maintenant, j'ai une demande complémentaire si c'est possible.
Etape 1 : J'aimerais générer la matrice des combinaisons théorique (çà c'est fait et c'est parfait).
Etape 2 : Sous les combinaisons théoriques, remplir par les valeurs réelles correspondantes de mes listes en VBA (sans formules). Enfin, il faudrait supprimer les doublons (doublon de valeur dans chaque ligne et doublon de combinaisons).
Je joins un exemple de ce que je souhaiterais obtenir.
Merci d'avance pour vos réponses.
bonjour,
la macro te fait déjà la suppression des doublons dans une ligne et des lignes en double.
Une version qui affiche toutes les combinaisons, y compris les lignes avec doublons, les lignes incomplètes et les lignes en double.
Bonjour,
C'est Top ! Je vais étudier un peu plus en détail mais c'est exactement ce que je recherche. Ce qui est excellent c'est l'indication textuelle que tu as insérée en Colonne I, tu es allé encore plus loin que ma demande.
Un très grand merci h2so4