code vba combinaison 5 numéro sur 49

julien clerc

XLDnaute Junior
salut a tous,:(
je cherche désespérément un code vba pour calculer et afficher toutes combinaisons de 5 numéros sur 49 ! sans doublon!
merci! de votre aides ! :(
 

gilbert_RGI

XLDnaute Barbatruc
Re : code vba combinaison 5 numéro sur 49

un truc comme ceci :cool:
de A2 à A50 mettre les 49 numéros
puis lancer la macro

Code:
Sub tirerplus()
    Dim chiffre(0 To 100)
    Sheets(1).Select
    y = Sheets(1).Range("A100").End(xlUp).Row
    Range("b1:B65536").ClearContents
    [B1] = "Tirage Aléa"
    For i = 0 To 4 'y - 1
        Randomize
boucle:
        For x = 0 To y - 1
            chiffre(x) = Cells(2 + x, 1).Value
        Next
        monrnd = Int(Rnd * y)
        For Change = 2 To y
            If chiffre(monrnd) = Cells(Change, 2).Value Then GoTo boucle
            For j = 1 To 5
            If chiffre(monrnd) = Cells(Change, 2).Value + j Then GoTo boucle
            If chiffre(monrnd) = Cells(Change, 2).Value - j Then GoTo boucle
            Next
        Next
        Range("B100").End(xlUp).Offset(1, 0).Value = (chiffre(monrnd))
    Next
End Sub
 

pierrejean

XLDnaute Barbatruc
Re : code vba combinaison 5 numéro sur 49

Bonjour julien clerc

Salut Gilbert_RGI

Avec un peu de patience:

Code:
Sub combinaisons()
lin = 1
col = 1
For m = 1 To 49
 For n = m + 1 To 49
     For o = n + 1 To 49
          For p = o + 1 To 49
               For q = p + 1 To 49
                   Cells(lin, col) = m & " " & n & " " & " " & o & " " & p & " " & q
                   lin = lin + 1
                   If lin > 65536 Then
                     col = col + 1
                     lin = 1
                   End If
                Next q
          Next p
     Next o
 Next n
Next m
End Sub
 

julien clerc

XLDnaute Junior
Re : code vba combinaison 5 numéro sur 49

bonjour pierre jean
j'ai trouvé une vba sur le forum qui marche trés bien mais on augmentent progréssivement le nombre de combinaison ex:combi 20;5) puis 30;5 le problème est que arrivé a (43;5) j'ai le message suivent: erreur d'exécution '1004' :

Erreur définie par l'application ou par l'objet.

merci de votre aide
voici la vba :
Code :
Sub Extraction()
Dim n1%, n2%, n3%, n4%, n5%, t() As Integer
Dim L As Long

ReDim t(WorksheetFunction.Combin(18, 5) - 1, 4)

For n1 = 1 To 14
For n2 = n1 + 1 To 15
For n3 = n2 + 1 To 16
For n4 = n3 + 1 To 17
For n5 = n4 + 1 To 18

t(L, 0) = n1: t(L, 1) = n2: t(L, 2) = n3: t(L, 3) = n4: t(L, 4) = n5
L = L + 1

Next n5, n4, n3, n2, n1

Feuil1.[A1:E1].Resize(L) = t

End Sub
 
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : code vba combinaison 5 numéro sur 49

Bonjour à tous,
j'ai trouvé une vba sur le forum qui marche trés bien mais on augmentent progréssivement le nombre de combinaison ex:combi 20;5) puis 30;5 le problème est que arrivé a (43;5) j'ai le message suivent: erreur d'exécution '1004' :

=COMBIN(49;5) donne le résultat 1906884

alors que ta feuille (version 2007) permet "seulement" 1048576 lignes
la solution de Pierre-Jean au post#3 est prévue pour mettre les résultats en colonnes


à+
Philippe
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : code vba combinaison 5 numéro sur 49

Re

Tu n'as pas très bien regardé le resultat !!
Il y a 29 colonnes pleines plus lacolonne AD jusqu'a la ligne 6340
ce qui fait bien 29*65536+6340=1906884

Et je me serais bien passé de faire ce controle
 
J

JJ1

Guest
Re : code vba combinaison 5 numéro sur 49

Bonjour Julien clerc, Pierrot, Pierre jean, Philippe,
Et pourquoi pas 5 numéros impairs?

Tu devrais pas mal d'info de ces es codes dans le lien de Pierrot.

A+
 

Discussions similaires

Réponses
6
Affichages
256