Bonjour,

je souhaiterai créer une matrice qui contient toutes les combinaisons vérifiant les contraintes suivantes :

- x est le nombre de colonne (x est choisit par l'utilisateur)
- 1 point de la matrice est compris entre 0 et 1 avec un pas donné (imposé par l'utilisateur)
- la somme de tous les points d'une même ligne doit être égale exactement à 1

Par exemple, j'aimerai que quadri(4, 0.5) où x = 4 et pas = 0.5 donne le résultat :
1 0 0 0
0.5 0.5 0 0
0 1 0 0
0.5 0 0.5 0
0 0.5 0.5 0
0 0 1 0
0.5 0 0 0.5
0 0.5 0 0.5
0 0 0.5 0.5
0 0 0 1

ou quadri (3,0.25) devra donner le résultat :
1 0 0
0.75 0.25 0
0.5 0.5 0
0.25 0.75 0
0 1 0
0.75 0 0.25
0.5 0.25 0.25
0.25 0.5 0.25
0 0.75 0.25
0.25 0.25 0.5
0.5 0 0.5
0 0.5 0.5
0.25 0 0.75
0 0.25 0.75
0 0 1

Je pense qu'il faut utiliser une macro récursive mais je n'arrive pas à la construire. Pouvez-vous m'aider à construire l'algorithme ?


je développe sous Visual Basic 6.3 qui fait partie de Excel 2003. Je n'arrive pas à créer une macro sortant la matrice que je souhaite. J'ai l'impression que la solution passe par une fonction récursive pour optimiser l'algorithme mais je me prend la tête sur la macro depuis hier et je n'ai encore rien sorti de convenable.

Pouvez-vous m'aider ?