Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

_-Rod-_

XLDnaute Nouveau
Bonjour,

J'ai une matrice de compatibilité de plusieurs option :

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

_-Rod-_

XLDnaute Nouveau
Bonjour Sylvanu,

Merci de votre retour, je vais regarder cela dès que possible.
Pour la seconde ligne, ce que vous trouvez ne marche pas car votre combinaison comprend l'option 1 et l'option 6 alors qu'elles ne sont pas compatible
 

sylvanu

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

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:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…