Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

babou263

XLDnaute Nouveau
Bonjour à toutes et à tous,

voici mon soucy (je ne m'y connais pas trop!):

je souhaite faire toutes les combinaisons possibles (dans tous les ordres possibles de 5 éléments avec ces 8 éléments (1.2.3.4.5.A.B.C).. sans deux fois le même éléments (ex: 1215B)

après maintes recherches j'ai trouvé ce calcul:
(8*7*6*5*4*3*2*1) / (5*4*3*2*1) = 40320/120=336

Tout d'abords je voudrais savoir si le calcul est bon. de plus comment afficher toutes les combinaisons?
quelqu'un pourrait-il m'aider?

je vous remercie
 
Re : Combinaisons

Bonjour babou263,



Non.

Nombre d'arrangements = 8*7*6*5*4 = 6720 (l'ordre importe)

Nombre de combinaisons = 8*7*6*5*4 / (5*4*3*2*1) = 56 (l'ordre n'importe pas).

A+

Tout d'abords merci de votre réponse,

Pouvez vous m'expliquer le premier calcul (résultat: 6720) (j'aime bien tout comprendre!!) et comment le faire sur excel en faisant apparaitre toutes les combinaisons

de plus, le second calcul, j'ai réussi à le faire sur excel: combi(8;5)= 56!!!

je vous remercie d'avance
 
Re : Combinaisons

Re, salut jeanpierre,

Pour comprendre ce qu'est un arragement, voyez Wikipedia ou un bouquin de math.

La macro pour la liste des arrangements de votre problème :

Code:
Sub Arrangements()
Dim liste, i As Byte, j As Byte, k As Byte, l As Byte, m As Byte, v As Integer, tablo(1 To 6720)
liste = Array(1, 2, 3, 4, 5, "A", "B", "C")
For i = 0 To 7
  For j = 0 To 7
    If j <> i Then
      For k = 0 To 7
        If k <> j And k <> i Then
          For l = 0 To 7
            If l <> k And l <> j And l <> i Then
              For m = 0 To 7
                If m <> l And m <> k And m <> j And m <> i Then
                  v = v + 1
                  tablo(v) = liste(i) & liste(j) & liste(k) & liste(l) & liste(m)
                End If
              Next m
            End If
          Next l
        End If
      Next k
    End If
  Next j
Next i
Range("A1:A6720") = Application.Transpose(tablo) 'restitution
End Sub

A+
 
Re : Combinaisons

Re,

après la liste des arrangements, celle des combinaisons, la macro est plus simple :

Code:
Sub Combinaisons()
Dim liste, i As Byte, j As Byte, k As Byte, l As Byte, m As Byte, v As Integer, tablo(1 To 56)
liste = Array(1, 2, 3, 4, 5, "A", "B", "C")
For i = 0 To 3
  For j = i + 1 To 4
    For k = j + 1 To 5
      For l = k + 1 To 6
        For m = l + 1 To 7
          v = v + 1
          tablo(v) = liste(i) & liste(j) & liste(k) & liste(l) & liste(m)
        Next m
      Next l
    Next k
  Next j
Next i
Range("A:A").ClearContents
Range("A1:A56") = Application.Transpose(tablo) 'restitution
End Sub

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 planning 5*8
Réponses
19
Affichages
1 K
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
174
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
652
Réponses
5
Affichages
565
Retour