J'ai l'impression que pour la 1ère partie du calcul des combinaisons (combinaisons des scindements possibles) je suis obligé de passer par un tableau à 3 dimensions (ou dynamique ?).
Dim Tableau(X, Y, Z) devrait suffire ?
Le X serait le nom du volume concerné
Le Y serait le n° de combinaison
Le Z serait le n° de position
Quand Dim Tableau(X, Y, Z+?) = "rien" ou "zéro" alors Z=1 et Y=Y+1
Quand Dim Tableau(X, Y+?,1) = "rien" ou "zéro" alors Z=1 et Y=1 et X=X+1
Quand Dim Tableau(X+?, 1,1) = "rien" ou "zéro" alors arrêt boucle du tableau
Dans l'exemple (de mon fichier 2ème onglet) du volume nommé B ont a en combinaisons :
B = 6000
B = 2500 puis 3500
B = 2500 puis 2500 puis 1000
on est en cours de recherche de valeurs sur B donc X=2
Dim Tableau(2, 1, 1) = 6000
Dim Tableau(2, 1, 2) = "rien" ou "zéro" alors Z=1 et Y=Y+1
Dim Tableau(2, 2, 1) = 2500
Dim Tableau(2, 2, 2) = 3500
Dim Tableau(2, 2, 3) = "rien" ou "zéro" alors Z=1 et Y=Y+1
Dim Tableau(2, 3, 1) = 2500
Dim Tableau(2, 3, 2) = 2500
Dim Tableau(2, 3, 3) = 1000
Dim Tableau(2, 3, 4) = "rien" ou "zéro" alors Z=1 et Y=Y+1
Dim Tableau(2, 4, 1) = "rien" ou "zéro" alors Z=1 et Y=1 et X=X+1
Dim Tableau(3, 1, 1) = (ça passe au volume nommé C)
....jusqu'à
Dim Tableau(X+?, 1, 1) = "rien" ou "zéro" donc arrêt boucle
On a terminé le tableau
Si je suis sur la bonne voie,
comment énumérer les combinaisons citées dans mon fichier ?
exemple : B = 6000 / scindements maxi 3 / multiple 2500 / combinaisons sans doublon
B = 6000
B = 2500 puis 3500
B = 2500 puis 2500 puis 1000
Enfin si cette 1ère partie est valide, Il faudrait utiliser ce tableau pour trouver toutes les combinaisons finales sans doublon & avec règles à prendre en compte
pour réduire un maximum la démultiplication de combinaisons inutiles au(x) résultat(s) souhaité(s) et donc optimiser le temps de calculs et d'affichage d'excel pour éviter d'attendre des minutes (ou des heures ?), la meilleure solution tant attendue.
Bref un vrai casse tête...