Générer des combinaisons à partir d'une base de données

Bonjour à tous,

Je souhaiterais vous demander un peu d'aide concernant un tableau que je tente vainement de réaliser depuis un moment. Le sujet a peut-être déjà été abordé sur le forum, mais ayant du mal à formuler ma demande en une phrase concise, je n'arrive pas à trouver de réponses.

Vous trouverez en pièce jointe la base de mon tableau.

J'ai donc un tableau qui peut contenir des données du type A correspond à 20,25, B correspond à 19,75, etc. Ces données sont amenées à être régulièrement modifiées. Elles représentent des durées (en heure). Et l'objectif est que la somme d'un certain nombre de ces données atteigne 168 heures. Il y a à côté des petits tableaux qui portent le doux nom de "Combinaison de 6", "Combinaison de 7", etc. Je souhaiterais qu'excel calcule automatiquement des combinaisons de ces données à chaque fois que j'en rentre des nouvelles, de la façon suivante

  • une ou plusieurs combinaisons de 6 données (du tableau "Données") dont la somme est égale à 168
  • une ou plusieurs combinaisons de 7 données (du tableau "Données") dont la somme est égale à 168
  • une ou plusieurs combinaisons de 8 données (du tableau "Données") dont la somme est égale à 168
  • une ou plusieurs combinaisons de 9 données (du tableau "Données") dont la somme est égale à 168

Admettons que A + H + Z + L + M + O = 168, il faudrait que cette combinaison apparaisse dans un tableau "Combinaison de 6" avec le nom de la donnée sur la colonne de gauche, et le chiffre qui lui est lié à droite. La difficulté, c'est qu'il faut qu'il en calcule des différentes à chaque fois. En fonction des données, il peut n'exister aucune combinaison de 6, ou bien 10, et seulement de combinaisons de 7, etc. Je cherche donc à lui faire sortir l'ensemble des possibilités par combinaison.

L'avantage d'une telle formule, c'est qu'elle peut ensuite être adaptée (du moins je l'espère), aux tableaux combinaisons de 7, 8 ou 9. Encore faut-il la trouver, et ça n'est pas évident à mon niveau. N'étant pas matheux, et pas du tout sensibilisé aux macros, je souhaite vraiment trouver une ou des formules efficaces à rentrer directement dans les cases pour atteindre l'objectif voulu.

J'espère avoir été assez clair, mais si ça n'est pas le cas, n'hésitez pas à me le dire. Et je vous remercie par avance pour l'aide que vous pourrez m'apporter!

Bonne journée.

29tableau-am.xlsx (13.83 Ko)

Bonjour,

une proposition,

comme il y a un grand nombre de solutions possibles, j'ai été obligé de modifier ta mise en page.

56tableau-am.xlsm (23.42 Ko)

Merci beaucoup h2so4, c'est exactement ça que je souhaitais faire!

Quelle est la méthode à suivre? Je souhaiterais pouvoir refaire des combinaisons de 6 et de 9 également et elles n'apparaissent pas quand je lance la recherche.

Sinon, penses-tu qu'il soit possible de créer une sorte d'alternative , par exemple, ne pas réutiliser une donnée qui apparaît déjà dans les combinaisons proposées (pour en limiter le nombre).

Merci encore!!

Bonjour,

en fait la macro recherche les combinaisons possibles de 6 à 10 nombres pris dans la liste. pour un total de 168, il n'en trouve que pour 7 et 8.

pour limiter le nombre de combinaisons, on peut mettre un nombre maximum de combinaison à trouver.

Bonjour,

Je me permets de revenir sur le sujet ayant une question supplémentaire : à partir de l'excellente base qu'h2so4 a pu me fournir, je souhaiterais savoir s'il était possible d'intégrer un code couleur aux résultats calculés. En effet, j'ai ajouté des couleurs de texte dans la colonne données, mais quand la recherche se termine, les résultats ne prennent pas en compte cette modification. Y a t-il un moyen de pallier à ce problème?

Merci par avance pour votre aide.

PS: je joins le tableau en question

Rechercher des sujets similaires à "generer combinaisons partir base donnees"