OVH Cloud OVH Cloud

Combinaisons

4 réponses
Avatar
Mikel
Bonjour à tous, et bonne année!

Je cherche un algorithme en vba excel capable d'écrire dans une colonne
d'une feuille de calcul toutes les combinaisons possibles de m éléments
pris dans un ensemble de n éléments.
n <=30 et bien sûr m<=n..
Pas de problème jusqu'à n=5 ou 6, mais ne n'ai réussi à généraliser....

Merci pour vos conseils!

Cordialement, Mikel

4 réponses

Avatar
idrevetnom
Bonjour

en principe avec ces deux petites fonctions ça marche
______________________________________
Function Factorielle(n)
Factorielle = 1
For k = 1 To n
Factorielle = k * Factorielle
Next k
End Function
___________________________________________
Function Comb(n, p)
Comb = Factorielle(n) / Factorielle(p) / Factorielle(n - p)
End Function
__________________________________________

Monteverdi
Avatar
Mikel
Merci pour ta réponse!
Ton résultat donne bien le nombre de combinaisons, comme la fonction COMBIN
d'Excel.
Mais j'ai dû mal m'exprimer....
Je souhaite afficher les combinaisons!
Ex: soit 4 objets {a, b, c,d}
si m=4 --> on affiche les combinaisons de 4 objets (abcd)
si m=3 --> on affiche les combinaisons de 3 objets (abc), (acd), (bcd)
si m=2 --> on affiche les combinaisons de 2 objets (ab), (ac), (ad), (bc),
(bd), (cd)

pout tout n <0


"idrevetnom" a écrit dans le message de news:

Bonjour

en principe avec ces deux petites fonctions ça marche
______________________________________
Function Factorielle(n)
Factorielle = 1
For k = 1 To n
Factorielle = k * Factorielle
Next k
End Function
___________________________________________
Function Comb(n, p)
Comb = Factorielle(n) / Factorielle(p) / Factorielle(n - p)
End Function
__________________________________________

Monteverdi






Avatar
idrevetnom
Mikel wrote:
Merci pour ta réponse!
Ton résultat donne bien le nombre de combinaisons, comme la fonction COMBIN
d'Excel.
Mais j'ai dû mal m'exprimer....
Je souhaite afficher les combinaisons!
Ex: soit 4 objets {a, b, c,d}
si m=4 --> on affiche les combinaisons de 4 objets (abcd)
si m=3 --> on affiche les combinaisons de 3 objets (abc), (acd), (bcd)
si m=2 --> on affiche les combinaisons de 2 objets (ab), (ac), (ad), (bc),
(bd), (cd)

pout tout n <0


"idrevetnom" a écrit dans le message de news:


Bonjour

en principe avec ces deux petites fonctions ça marche
______________________________________
Function Factorielle(n)
Factorielle = 1
For k = 1 To n
Factorielle = k * Factorielle
Next k
End Function
___________________________________________
Function Comb(n, p)
Comb = Factorielle(n) / Factorielle(p) / Factorielle(n - p)
End Function
__________________________________________

Monteverdi


Salut Mikel, je suis en retard, mais j'ai effectivement répondu un peu


vite, je m'en suis rendu compte aprés.
Je cherche à faire ce que tu veux, afficher les combinaisons elles
mêmes, mais je n'ai pas encore trouvé, ça risque de prendre un certain
temps, est ce que de ton côté tu as progressé?
Monteverdi


Avatar
Michel Pierron
Bonjour Mikel;
http://www.google.fr/groups?hl=fr&lr=&frame=right&th»a99030ed5ac572&seekm=uUU2Yz3zCHA.1628%40TK2MSFTNGP10#link8
MP

"Mikel" a écrit dans le message de
news:41d6d956$0$4121$
Bonjour à tous, et bonne année!

Je cherche un algorithme en vba excel capable d'écrire dans une colonne
d'une feuille de calcul toutes les combinaisons possibles de m éléments
pris dans un ensemble de n éléments.
n <0 et bien sûr m<=n..
Pas de problème jusqu'à n=5 ou 6, mais ne n'ai réussi à généraliser....

Merci pour vos conseils!

Cordialement, Mikel