VBA

Fermé
nanine - 19 mai 2009 à 08:38
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 - 25 mai 2009 à 10:13
Bonjour,

j'ai une liste sur excel avec un certain ordre mais je ne suis pas sur que cet ordre soit optimal pour ce que je veux faire. J'aimerais faire une macro qui me permettra de faire toutes les combinaisons possibles d'ordre. Je ne peux pas le faire à la main ca serait beaucoup trop long sachant que j'ai 64! possibilités. J'ai essayé avec une liste de 3 lignes mais je n'y arrive pas. Je ne sais pas si j'ai été assez clair!

Merci

4 réponses

Neo_Free Messages postés 2 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 19 mai 2009
19 mai 2009 à 09:45
Bonjour,

Tu as déjà essayé avec les filtres automatiques ?
Soit, dans les Menus : Données ; Filtre & Filtre automatique
0
Je n’ai pas été assez clair. Par exemple, j’ai 3 lignes L1,L2,L3. Je veux faire une macro pour que ca me trouve tous les ordres possibles ici il y en a 6: L1,L2,L3 ; L1,L3,L2 ; L2,L1,L3 ; L2,L3,L1 ; L3,L2,L1 ; L3,L1,L2.
Je voudrais le faire avec une macro parce que ma liste contient 58 lignes ce qui fait 58 ! possibilités.
0
blux Messages postés 26546 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 décembre 2024 3 319
19 mai 2009 à 15:57
Salut,

donc tu auras une liste de choix de tri qui fera à peu près 2,3 x 10^78 lignes, pas sûr qu'excel te laisse gérer tout ça... à mon avis, il aura explosé en vol avant...
0
Bonjour,

Personne ne sait comment je pourrais faire? ou au moins une piste. Je ne sais vraiment pas comment faire et c'est assez important.

Merci
0
DarkAurora Messages postés 417 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 21 janvier 2013 27
25 mai 2009 à 10:13
composons l'algorithme :

tu as 3 lignes donc 6 possibilités.
2 possibilités avec L1 comme première ligne
2 possibilités avec L2 comme première ligne
2 possibilités avec L3 comme première ligne

2 possibilités avec L1 comme deuxième ligne
2 possibilités avec L2 comme deuxième ligne
2 possibilités avec L3 comme deuxième ligne

2 possibilités avec L1 comme troisième ligne
2 possibilités avec L2 comme troisième ligne
2 possibilités avec L3 comme troisième ligne

on additionne les possibilités par ligne ce qui nous fait 2+2+2=1 possibilités totale

on test si la possibilité n'existe pas déjà
on test si la ligne L1 à déjà été en première position au moins 2 fois
on test si la ligne L2 à déjà été en première position au moins 2 fois
on test si la ligne L3 à déjà été en première position au moins 2 fois

on test si la ligne L1 à déjà été en deuxième position au moins 2 fois
on test si la ligne L2 à déjà été en deuxième position au moins 2 fois
on test si la ligne L3 à déjà été en deuxième position au moins 2 fois

on test si la ligne L1 à déjà été en troisième position au moins 2 fois
on test si la ligne L2 à déjà été en troisième position au moins 2 fois
on test si la ligne L3 à déjà été en troisième position au moins 2 fois

si tout les tests sont faux alors tu à réunis toutes les possibilités

je ne sais pas si j'ai fait une erreur j'ai fait l'algo au fur et à mesure^^
0