[VBA] : Calcul de combinaison en considérant des exclusions

_-Rod-_

XLDnaute Nouveau
Bonjour,

J'ai une matrice de compatibilité de plusieurs option :
MatriceComp.PNG

KO veut dire que les options ne sont pas compatibles

Je cherche à coder en VBA le calcul de toutes les combinaisons possibles en prenant en compte les incompatibilités de certaines.
Dans le cas simple en exemple (Option1 et Option6 non compatibles / Option2 et Option3 non compatibles) cela devrait me ressortir les combinaisons suivantes :

Option1;Option2;Option4;Option5;Option7;Option8
Option2;Option4;Option5;Option6;Option7;Option8
Option1;Option3;Option4;Option5;Option7;Option8
Option3;Option4;Option5;Option6;Option7;Option8

Merci d'avance pour votre aide
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Rod,
Un essai en PJ.
Par contre pour votre seconde ligne, je trouve
Option2;Option4;Option5;Option6;Option7;Option8 et non Option2;Option1;Option4;Option5;Option6;Option7;Option8 car je trouve OK en Option1/Option2.
Quelque chose qui m'a échappé ?
 

Pièces jointes

  • Combinaisons.xlsm
    19.7 KB · Affichages: 10

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Exact, je n'avais pas vu et compris cette subtilité.
Donc bad PJ. To rework :mad:

Mais alors dans ce cas, pour la seconde ligne on peut avoir :
Option 2;Option 4;Option 5;Option 6;Option 7;Option 8 mais aussi
Option 2;Option 1;Option 4;Option 5;Option 7;Option 8

Ce qui devient complexe.
 
Dernière édition:

_-Rod-_

XLDnaute Nouveau
Je me rend compte que je n'ai pas précisé quelque chose (désolé) : si l'option est OK alors elle doit faire partie de la combinaison.
Et de plus :
Option1;Option2;Option4;Option5;Option7;Option8
ou
Option1;Option2;Option4;Option5;Option8;Option7
Sont 2 combinaisons considérées identiques

C'est pour cela que l'exemple que je donne correspond a uniquement 4 combinaisons possibles :

Option1;Option2;Option4;Option5;Option7;Option8
Option2;Option4;Option5;Option6;Option7;Option8
Option1;Option3;Option4;Option5;Option7;Option8
Option3;Option4;Option5;Option6;Option7;Option8
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @_-Rod-_ , @sylvanu ;),

Je recycle ma procédure de recherche des combinaisons de P parmi N. Cliquer sur le bouton Hop!
Le tableau des compatibilités doit avoir pour origine la cellule A1. Une ligne vide à droite du tableau et une ligne vide en dessous du tableau sont obligatoires.

S'il faut s'arrêter après le premier groupe d'options (celui qui est composé du nombre max d'options possibles), alors ajouter l'instruction Exit Sub avant le dernier End If du code.

Le code est dans Module1.

Attention! C'est le genre de programme qui peut vite devenir interminable et/ou dépasser les capacités d'une machine.
 

Pièces jointes

  • _-Rod-_ Combinaisons sous condition- v1.xlsm
    22.7 KB · Affichages: 13
Dernière édition:

Statistiques des forums

Discussions
311 725
Messages
2 081 948
Membres
101 849
dernier inscrit
florentMIG