XL 2019 VBA - Combinaisons possibles à partir d'une liste d'actions

  • Initiateur de la discussion Initiateur de la discussion AUREL87
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

AUREL87

XLDnaute Nouveau
Bonjour à tous,

A partir de la colonne A, je charge une variable tableau en VBA. Je voudrais l'utiliser pour déterminer toutes les combinaisons possibles (cf image ci-dessous).
Je sais avec tout ça que les actions commençant par "A" seront les 1ères (donc ici AB et AC).

J'ai tenté une solution par "niveaux" c'est à dire avec une recherche des couples commençant par "A" pour le niveau 1, puis en niveau 2 la 2ème partie des couples des niveaux 1 ...

Si je prends un exemple :
- NIV1: AB-BD
- NIV2: BD-DF
- NIV3: DF-FG et DF-FH

=> AB-BD-DF-FG ou AB-BD-DF-FH

Lorsque j'ai plusieurs solutions comme le NIV3 ci-dessus, c'est là où je bloque.

Si vous avez une piste, je suis preneur car je m'arrache les cheveux. 🙃

Je vous remercie par avance.
@urel87

1658525381272.png
 
Dernière édition:
Solution
sur ce coup la.. je pense que je suis balèze.. arriver à pondre ca avec des explications aussi peu claires...
par contre..pour une fois.. je ne vais pas prendre la peine d'expliquer le code.. déjà que j'ai recréé le fichier..
à toi de regarder, chercher etc etc
Bonjour

déjà, il y a un problème
tu parles de combinaisons à partir des éléments de la colonne A
sur ton image, on voit des couples de 2 en colonnes A (AB-BD ou AB-BE....) mais en colonne B; on voit des groupes de 5... au lieu de 4
ensuite tu parles de niveau.. ????
donc.. plutot qu'une image, un fichier exemple serait le bienvenu.
 
Bonjour,

Alors effectivement je n'ai pas mis de fichier car je n'ai pas réussi à appliquer ma solution que j'appelle par niveau.
J'ai bloqué dans ma démarche:
- Je boucle sur mon tableau, je regarde le terme en index i => AB-BD pour i = 0
- J'inscrit une autre boucle pour partir de l'indice i + 1 et je regarde si le terme de droite de i est égal au terme de gauche de i+1 ...
- Si c'est le cas, alors j'ajoute la partie droite de i+1

=> La difficulté que je rencontre est que je ne sais pas gérer le fait qu'il peut y avoir plusieurs débuts identiques : dans mon exemple, cela va être la ligne 2 et 4 de la colonne combinaison.
Je pense qu'il manque une étape supplémentaire mais je ne vois pas laquelle.

Tu as raison mon exemple de combinaison n'est pas explicit puisque pour montrer le résultat que je souhaite obtenir, j'ai déjà supprimer les doublons (ici BD, DF et FG qui apparaissent 2 fois mais que je supprimerai à la fin) :
AB-BD-BD-DF-DF-FG-FG-GI
 
sur ce coup la.. je pense que je suis balèze.. arriver à pondre ca avec des explications aussi peu claires...
par contre..pour une fois.. je ne vais pas prendre la peine d'expliquer le code.. déjà que j'ai recréé le fichier..
à toi de regarder, chercher etc etc
 

Pièces jointes

Je confirme que tu es balèze! 👏

Je ne sais pas ce que tu aurais aimé comme fichier alors que ma demande concernait des idées pour réaliser le résultat souhaité ou des pistes de choses similaires.

Néanmoins, je te remercie pour avoir pris de ton temps pour apporter une solution qui fonctionne parfaitement. Je vais bien étudier ton code.

vgendron, un grand merci!

@urel
 
Bonjour Aurel vgendron,
J'arrive quelque peu après la bataille. 🙂
Mais tant qu'à faire, autant livrer la PJ.
Mais je me suis limité à trouver les solutions complètes d'enchainements comme sur la photo du post #1.
A voir.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour