[Déplacé VB6 -> VBA]Remplir un tableau avec tous les cas possibles de variables

Résolu
mattgobt - 18 août 2012 à 19:31
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 21 août 2012 à 22:19
Bonjour à tous,
j'ai un petit soucis que je n'arrive pas à résoudre.
Imaginons un tableau de dimension L lignes et C colonnes. L et C pouvant variés selon des paramètres qui ne sont pas importants ici.
Chacune des cellules du tableau excel en question peut prendre comme valeur 0 ou 1. Je souhaiterais trouver un algo qui me permette de générer tous les cas possibles de remplissage du tableau.
Par exemple :
pour un tableau à 1 ligne et 2 colonnes le tableau pourrait se remplir de la manière suivante :
0 0
1 0
0 1
1 1
Quelqu'un à une idée de comment écrire le programme pour que mon tableau se remplisse comme ça ???

Merci d'avance

9 réponses

Hello,
merci pour les réponses. Bon ok a priori je prends pas le problème du bon bout alors.
Mon tableau fait 260 lignes et 28 colonnes.
Petit élément que j'ai oublié de mentionner, je ne peux avoir qu'un seul 1 sur une même ligne.
Donc au final je n'ai que 28 solutions possibles par ligne. Est-ce que j'ai un moyen de boucler sur mes 28 solutions pour tester leurs valeurs sur les 260 lignes ?
En effet, si je fais ça :
for i = 1 to 260
for j = 1 to 74
...
next j
next i

alors je vais changer la valeur de la première ligne avec les 74 solutions possibles mais les autres lignes seront toutes à 0.
Merci encore à tous.
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 août 2012 à 20:44
Bonjour,
il est dommage que tu aies ouvert la présente discussion dans la section :

Forum > Visual Basic 6
et non dans celle de ton outil de développement ( Langages dérivés > VBA)
Quoi qu'il en soit : ta question (mille et une fois posée ici) est tout simplement celle de toutes les combinaisons possible de n articles. Leur nombre est n! (factorielle n). Aucun problème pour un nombre assez restreint. Enormes problèmes au delà d'une certaine valeur de n.
Et tout cela : dans quel but ?

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
Oups désolé je m'étais perdu dans les méandres du forum apparemment.
Alors l'objectif est un peu compliqué à expliquer comme ça. L'idée est des tester toutes les solutions possibles d'affectation d'une population à un groupe pour voir laquelle est optimale selon des critères donnés
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
18 août 2012 à 21:33
Salut

C'est comme une table de verité
si j'ai C colonnes j'ai 2^C possibilitées
ex C = 3
000
001
010
011
100
101
110
111

comme ci que tu comptais en binaire de 0 à 2^C -1 ou 7
en gros
l'algo serait peut etre
la boucle varie de 0 à 2^C -1
pour chaque itération convertir en binaire
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 août 2012 à 21:37
Cela n'enlève absolument rien à ce que j'ai dit plus haut, notamment en ce qui concerne :
est tout simplement celle de toutes les combinaisons possible de n articles. Leur nombre est n! (factorielle n). Aucun problème pour un nombre assez restreint. Enormes problèmes au delà d'une certaine valeur de n

Comment compterais-tu :
tester toutes les solutions possibles d'affectation d'une population à un groupe pour voir laquelle est optimale selon des critères donnés

sur un nombre extrêmement élevé de combinaisons possibles ?
As-tu par exemple une idée de ce que représenterait 15 ! (factorielle 15) ?
- 1) Tu n'aurais pas assez de lignes sur ta feuille de calcul
- 2) Il faudrait un temps important (pas quelques secondes du tout) pour uniquement déterminer toutes les combinaisons
- 3) il faudrait ensuite (histoire de maso) un temps encore plus long pour faire tes tests sur chaque combinaison
Euh ...
Bonne chance.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
Utilisateur anonyme
19 août 2012 à 01:39
Bonjour,


Oups désolé je m'étais perdu dans les méandres du forum apparemment.
Alors l'objectif est un peu compliqué à expliquer comme ça. L'idée est des tester toutes les solutions possibles d'affectation d'une population à un groupe pour voir laquelle est optimale selon des critères donnés


Pourquoi réinventer la roue ? Le Solveur peut probablement mouliner ton tableau à ta place.
0
Malheureusement le solveur ne peut pas m'aider j'ai trop de variables
0
Bonjour, je profite de ton problème car je cherche une solution qui me paraissait simple mais qui commence à me donner mal au crane...
Je fais jeu, j'ai 5 critère que l'on peut remplir de 1 à 5 , je propose au joueur 15 points à répartir... j'aimerai connaitre toutes les possibilités de remplissage!Merci à vous
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
21 août 2012 à 22:19
Bonjour, neojava777
1) ton problème est totalement différent
2) ouvre ta propre discussion
3) expose ton problème de manière plus claire (ce n'est pas le cas de tobn exposé ici).


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
Rejoignez-nous