Bonjour à tous,
J'ai un tableau de "signes" tous différents, variable en nombre de lignes - mais pas des masses (max 12~15) - et maximum 6 colonnes, pas toutes remplies, comme par exemple ceci :
E
H B
A F C
G
D
Je dois en tirer des combinaisons (de largeur variable) avec les permutations possibles quand il y a +sieurs colonnes sur une ligne (ici lignes 2 et 3).
EHAG EHAD EHFG EHFD EHCG EHCD EHGD EBAG EBAD EBFG EBFD EBCG EBCD EBGD EAGD EFGD ECGD HAGD HFGD HCGD BAGD BFGD BCGD
Notez que ce sont ici des lettres pour que ce soit plus clair, mais en pratique ce sont des nombres. Mine de rien, c'est un beau casse-tête.
Une solution a été trouvée par mon fils en JavaScript https://jsfiddle.net/ob5jzLLf/3/
Explications du concepteur : On considère chaque élément comme un nœud : chacun possède une valeur (la lettre), un niveau (le numéro de ligne), et des enfants.
Tous les nœuds dont le niveau est inférieur au nœud actuel sont considérés comme ses enfants (la méthode setChildren())
Comme ça, on peut descendre de façon récursive pour récupérer les enfants des enfants etc.
Donc en récursif on remplit un tableau ("list") avec toutes les possibilités, quelle que soit leur longueur, et enfin filtré pour garder les éléments qui font 4 caractères.
Ma question : est-il possible de faire cela en VBA (et si vous pouviez m'aider),
Un grand merci d'avance et beau weekend !
Partager