Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Combinaisons de 35 numéros 3 à 3 !

claude43

XLDnaute Junior
Bonjour le Forum,

En A1:A35, j'ai 35 numéros à combiner 3 à 3.
Pour obtenir la première série de combinaisons en recopiant vers le bas, j'applique la formule =$A$1&-A2&-A3
A la suite, pour enchainer sur les combinaisons suivantes du type 2-3-4, 2-3-5, etc. Je sais pas faire !
En combinant 35 numéros de 1 à 35 de 3 à 3 cela donne 6 545 combinaisons de 3.
Comment enchainer les formules pour obtenir le bon résultat ?

J'ai joint une petite présentation.

Merci de m'aider

Claude
 

Pièces jointes

  • upload_2018-6-22_17-4-11.png
    5.1 KB · Affichages: 97
  • combs3a3.zip
    3.2 KB · Affichages: 47

Victor21

XLDnaute Barbatruc
Bonjour claude43.

Il existe, ici et sur Internet, une foultitude de solutions pour sortir ces 6545 combinaisons.
Mais avez-vous besoin de toutes ces combinaisons ?
A raison d'une combinaison par seconde, il vous faudra 1h50 pour toutes les lire (à condition que votre attention ne se relâche pas.
Dites-nous plutôt ce que vous voulez en faire, et nous pourrons peut-être vous aiguiller sur une solution plus utilisable.
 

claude43

XLDnaute Junior
Bonjour Victor21,

Merci de vous intéresser à mon sujet.
Je fais des analyses personnelles en profondeur avec un logiciel très performant.
J'ai besoin de savoir s'il existe une formule excel plus adaptée que la mienne pour éditer ces 6545 combinaisons.
Oui il me faut la totalité de ces combinaisons.

Avec tous mes remerciements.

Claude
 

job75

XLDnaute Barbatruc
Bonsoir claude43, Patrick,

C'est en effet un sujet rabâché :
Code:
Sub Combinaisons_3a3()
Dim t, ub&, a$(), i&, j&, k&, n&
t = [A1:A35] 'à adapter
ub = UBound(t)
ReDim a(1 To Application.Combin(UBound(t), 3), 1 To 1)
For i = 1 To ub - 2
    For j = i + 1 To ub - 1
        For k = j + 1 To ub
            n = n + 1
            a(n, 1) = t(i, 1) & "-" & t(j, 1) & "-" & t(k, 1)
Next k, j, i
[B:B].NumberFormat = "@" 'format Texte
[B1].Resize(n) = a 'restitution
[B1].Offset(n).Resize(Rows.Count - n).ClearContents 'RAZ sous le tableau
End Sub
Fichier joint.

A+
 

Pièces jointes

  • combs3a3(1).xls
    87.5 KB · Affichages: 38

claude43

XLDnaute Junior
Bonsoir Victor21, job75

Génial ! Merci d'avoir répondu si rapidement à ma question.

Toujours aussi efficace ce site que je fréquente déjà depuis plusieurs années.
C'est un plaisir.

Cordialement.

Claude
 

Staple1600

XLDnaute Barbatruc
Bonjour, le fil, le forum, Claude, Victor21, job75

Bonjour Victor21,
Merci de vous intéresser à mon sujet.
Je fais des analyses personnelles en profondeur avec un logiciel très performant.
Donc le mystère restera dans les profondeurs et le nom du logiciel trés performant itou
Chut .. Secret Défense

Bref le parfait aperçu d'un fructueux partage des connaissances, dans le pur esprit XLDien
 

Victor21

XLDnaute Barbatruc
Bonjour à tous.

@claude43 : Pour le fun, en formules :

@Lone-wolf : bravo pour tes 6500 messages, sauf s'ils sont tous aussi pertinents que le 6500°
Pour les plaisanteries, rappelons qu'il y a le salon, et le nb de message déposés est comptabilisé de la même manière, sans polluer les fils "sérieux"
 

Pièces jointes

  • 35_3par3_formules.xlsx
    92.6 KB · Affichages: 26
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

@claude43
Merci pour ton retour d'information
Mais d'aprés ce qu'on peut lire sur le site de l'auteur de ces logiciels, je pensais qu'ils se suffisaient à eux-même.
Si tu a besoin d'Excel, c'est donc que leur performance n'est pas si optimale alors?
 

job75

XLDnaute Barbatruc
Bonjour JM, Lone-wolf,

Si l'on veut jouer les prolongations, fichier (2) avec 150 éléments et 551 300 combinaisons restituées sur 9 colonnes.
Code:
Sub Combinaisons_3a3()
Dim dur#, t, ub&, rc&, col%, a$(), i&, j&, k&, n&
dur = Timer
Application.ScreenUpdating = False
t = [A2:A151] 'à adapter
ub = UBound(t)
rc = Rows.Count - 1
ReDim a(1 To rc, 1 To 1)
col = 2
With Columns(col).Resize(, Columns.Count - col + 1)
    .NumberFormat = "@" 'format Texte
    .Delete 'RAZ
End With
For i = 1 To ub - 2
    For j = i + 1 To ub - 1
        For k = j + 1 To ub
            n = n + 1
            a(n, 1) = t(i, 1) & "-" & t(j, 1) & "-" & t(k, 1)
            If n = rc Then
                Cells(1, col) = "Col " & col - 1
                Cells(2, col).Resize(rc) = a 'restitution de la colonne entière
                If col Mod 2 = 0 Then Columns(col).Interior.ColorIndex = 24
                ReDim a(1 To rc, 1 To 1) 'RAZ
                n = 0: col = col + 1
            End If
Next k, j, i
If n Then
    Cells(1, col) = "Col " & col - 1
    Cells(2, col).Resize(n) = a 'restitution de la colonne partielle
    If col Mod 2 = 0 Then Cells(1, col).Resize(n + 1).Interior.ColorIndex = 24
End If
Columns(2).Resize(, col - 1).AutoFit 'ajustement largeur
ActiveSheet.DrawingObjects(1).Left = Columns(col + 1).Left + 1 'position du bouton
Application.ScreenUpdating = True
MsgBox Format(Application.Combin(ub, 3), "#,##0") & " combinaisons listées en " & Format(Timer - dur, "0.00 \s")
End Sub
Exécution en 3,7 secondes chez moi.

A+
 

Pièces jointes

  • combs3a3(2).xls
    95.5 KB · Affichages: 41

claude43

XLDnaute Junior
Re : Staple1600,

Pas du tout ! Par exemple le logiciel ExpertKeno de Louis Payras a une bibliothèque importante de systèmes réducteurs. Par contre il n'y pas de systèmes à garantie totale et pour cause qu'a priori ça rien d'intéressant, sauf que pour moi, ponctuellement, pour mon analyse personnelle j'en avais besoin !
Encore grand merci au forum.

Cordialement.

Claude
 

claude43

XLDnaute Junior
Re Victor21,

Pardon ! Je n'arrive pas à ouvrir le fichier XlSX
Je suis sur Windows 7 et fonctionne toujours avec Excel 97 !!

Merci de m'adresser si possible un fichier lisible avec mon Excel

Cordialement.
Claude
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…