combinaisons

yanic2020

XLDnaute Nouveau
Bonjour

je cherche un fichier excel de toutes les combinaisons possibles de 0-9 .
je vous remercie à bientot.
 

JPP57

XLDnaute Nouveau
Re : combinaisons

Re...bhbh
Parfait !
Mais simpliste...
Dans notre série Pourquoi faire simple quand on peut faire compliqué ?, j'ai un faible pour ce code :
Code:
[B][COLOR="DarkSlateGray"]Sub MEDAILLE_FIELD()
Dim i As Long, j As Long, k As Long, l As Long
Dim m As Long, n As Long, x As Integer
   For i = 0 To 9
      n = n + 1
      For j = [B][I]i[/I][/B] To 9
         For k = [I][B]j[/B][/I] To 9
            For l = [B][I]k[/I][/B] To 9
               x = i
               x = 10 * x + j
               x = 10 * x + k
               x = 10 * x + l
               m = m + 1
               With Cells(m, n)
                  .Value = x
                  .NumberFormat = "0000"
               End With
            Next l
         Next k
      Next j
      m = 0
   Next i
   MsgBox "Opération terminée."
End Sub[/COLOR][/B]
ROGER2327

De toutes petites modif dans ton code et tu as les 715 combinaisons avec répétitions....:):):)

J'ai voulu mettre les modifs en gras mais elles ne sont pas visibles alors je les reprends ici :
For j = i To 9
For k = j To 9
For l = k To 9
 
Dernière édition:

JPP57

XLDnaute Nouveau
Re : combinaisons

Bonjour tout le monde,

Pour finir avec ces combinaisons,
Code:
Sub MEDAILLE_FIELD()
Dim i As Long, j As Long, k As Long, l As Long
Dim m As Long, n As Long, x As Integer
   For i = 0 To 9
      n = n + 1
      For j = i + 1 To 9
         For k = j + 1 To 9
            For l = k + 1 To 9
               x = i
               x = 10 * x + j
               x = 10 * x + k
               x = 10 * x + l
               m = m + 1
               With Cells(m, n)
                  .Value = x
                  .NumberFormat = "0000"
               End With
            Next l
         Next k
      Next j
      m = 0
   Next i
   MsgBox "Opération terminée."
End Sub

Code de Roger modifié pour avoir les 210 combinaisons sans répétition

Code:
Sub MEDAILLE_FIELD1()
Dim i As Long, j As Long, k As Long, l As Long
Dim m As Long, n As Long, x As Integer
   For i = 0 To 9
      n = n + 1
      For j = 0 To 9
         For k = 0 To 9
            For l = 0 To 9
               If j <> i And k <> i And l <> i And k <> j And l <> j And l <> k Then
               
               x = i
               x = 10 * x + j
               x = 10 * x + k
               x = 10 * x + l
               m = m + 1
               With Cells(m, n)
                  .Value = x
                  .NumberFormat = "0000"
               End With
               End If
            Next l
         Next k
      Next j
      m = 0
   Next i
   MsgBox "Opération terminée."
End Sub

Le même code pour avoir les 5040 Arrangements sans répétitions.
A priori on a les 4 codes pour avoir soit les combinaisons soit les arrangements avec ou sans répétitions suivant le besoin

Bonne journée tout le monde et A+
 

vbacrumble

XLDnaute Accro
Re : combinaisons

Bonjour à tous


Hier je disais
Il fait ce que tu souhaites (et tu trouveras 5040 permutations et 210 combinaisons pour 4 chiffres)

Vous êtes bien d'accord avec ces deux chiffres ?

Dans ce cas les 210 combinaisons ne sont pas équivalentes à la liste des nombres de 0 à 9999.

Si quelqu'un ( à l'esprit épris de mathématiques) pouvait faire un petit résumé de ce que sont les combinaisons et les permutations.

Merci.

(Car vous avez semez des doutes dans mon esprit ;) )
 

JPP57

XLDnaute Nouveau
Re : combinaisons

Bonjour à tous



Si quelqu'un ( à l'esprit épris de mathématiques) pouvait faire un petit résumé de ce que sont les combinaisons et les permutations.

Merci.

(Car vous avez semez des doutes dans mon esprit ;) )

Bonjour VBACrumble,

Ce que vous appelez permutations sont en fait des arrangements.
En mathématique la permutation est le cas particulier d'un arrangement de n éléments pris dans n possibilités.
Pour 10 éléments on a 10^10 permutations avec répétitions, et 10! sans répétions possibles...
Plus généralement on parle d'arrangement de p éléments pris dans n possibilités.
Dans les arrangements l'ordre est pris en compte alors que dans les combinaisons celui-ci ne l'est pas.
Dans les 2 cas on parle d'arrangements ou de combinaison avec répétition ou sans répétitions (avec ou sans remise)

En résumé on a pour 4 éléments choisis parmis 10 :

la liste de 0000 à 9999 est un arrangement avec répétitions de 4 chiffres choisis parmi 10 et comporte 10^4 possibilités.

Les arrangements sans répétitions (0000, 0001, 0012 ne sont entre autre pas pris en compte) sont au nombre de 10!/(10-4)!=5040 possibilités.

Les combinaisons (0123 et 3210 sont la même combinaison, l'ordre ne rentrant pas en compte) sans répétitions sont au nombre de 10!/(4!(10-4)!)=210 possibilités différentes.

Pour les combinaisons avec répétitions il y a 13!/(4!(13-4)!)=715 possibilités.

Bonne journée et a +
 
Dernière édition:

vbacrumble

XLDnaute Accro
Re : combinaisons

Re


Merci pour ces explications JPP57

Mais pourquoi alors dans Excel, il utilise cette dénomination ?
=PERMUTATION(10;4) --> 5040

( et en pour info en complément =COMBIN(10;4) --> 210 )

Avec mon bon sens paysan, pour moi la liste de 0000 à 9999 représente 10 000 cellules dans
Excel et non 5040.

(D'ou le trouble que j'évoquais précédemment)
 
Dernière édition:

JPP57

XLDnaute Nouveau
Re : combinaisons

Re

Mais pourquoi alors dans Excel, il utilise cette dénomination ?
=PERMUTATION(10;4) --> 5040

Bonne question vbacrumble, mais j'ai pas d'explication.
Dans l'aide de Excel il donne pour la fonction Permutation (voir l'image jointe) la définition donnée par les sites mathématiques pour l'arrangement.
Excel utilise donc ici une dénomination incorrecte d'un terme.

Voici un lien qui explique les arrangements et combinaisons, on remarquera que A(np) et le P(np) de Excel sont les mêmes et qu'a priori il n'y a pas qu'Excel qui utilise le terme P en lieu et place de A.
Histoire de l'analyse combinatoire

Bonne lecture et a+.
 

Pièces jointes

  • aidepermu.jpg
    aidepermu.jpg
    9.1 KB · Affichages: 60

ROGER2327

XLDnaute Barbatruc
Re : combinaisons

Bonjour à tous
Re...
(...) Excel utilise donc ici une dénomination incorrecte d'un terme (...)
Comme souvent.
Guillaume Porte* vend (cher) des logiciels francisés sans les franciser. En Français, le sens principal de permutation est changement de l'un pour l'autre.
De façon générale, le nombre de permutations d'un ensemble ayant n éléments distincts est n!.
Le nombre de permutations des éléments d'un ensemble ayant n éléments dont certains sont identiques est
n!/(n1!.n2!. ... .nk!)
n1, n2, ... ,nk sont les nombres d'éléments identiques.
Exemple : Soit le mot BILL. Il est formé d'un ensemble de quatre lettres dont trois distinctes, donc n = 4 et k = 3.
B figure une fois, donc n1 = 1.
I figure une fois, donc n2 = 1.
L figure deux fois, donc n3 = 2.
Le nombre de permutations est 4!/(1!.1!.2!) = 12.
En permutant ses lettres, on obtient effectivement :
BILL
BLLI
IBLL
BLIL
LIBL
ILBL
LBLI
LBIL
LILB
LLBI
ILLB
LLIB
Le fait que le Bill's Band salope ses traductions ne doit pas nous intimider. Sur les sites francophones, continuons à appeler permutations les permutations, arrangements les arrangements, combinaisons les combinaisons.​
ROGER2327

__________________
* Pour les lecteurs non francophones : Bill Gate.
 
Dernière édition:

Discussions similaires