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 ! :(
 

B Mohamed Khalid

XLDnaute Nouveau
Re
Désolé mais je ne suis pas partant pour une étude qui ne peut pas aboutir
Good Luck
Ce qui compte pour moi, ce n'est pas tant l'appat du gain que l'apprentissage de la méthode de programmation...la plupart des contraintes j'ai pu les réaliser directement sur excel..je pourrais vous dire à n'importe quel moment pour chaque numéro son écart, sa frequence globale, sa fréquence durant les 24 ou 10 derniers tirages, etc...et j'arrive même à marquer les éléments saillants avec des couleurs de fonds différents...pour ce qui est du reste j'ai un ami qui est un as de la programmation avec Turbo Pascal, et il a concocté une application presque parfaite..Pour vous dire je n'en ai pas trouvé une à sa hauteur même parmi les applis payantes sur le net...Ceci étant dit, vous êtes libre de vous embarquer sur le bateau qui vous chante et vous enchante....
En tout cas, je vous remercie de votre amabilité et j'avoue que je vous trouve calé en programmation...je vous en félicite et à bientot Mr Pierrejean...Cordialement
 

Barnes

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

Bonjour à tous
Roger, j'ai utilisé ton code avec une modification des paramètres 1 to 49 à 1 to 50, l'exécution est correcte mais, au contrôle de COMBIN(50;5) le nombre obtenu de combinaisons indique 2 118 760. l'exécution donne 2 065 630 combinaisons. Y-a-t-il une explication ? Première colonne 1 048 576 combinaisons (Dernière ligne) et deuxième colonne elle s'arrête à la ligne 1 017 054. Soit un écart de 53 130 combinaisons en moins.
A bientôt
 

Barnes

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

Re

avec encore un peu plus 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
                 If m Mod 2 <> 0 Or n Mod 2 <> 0 Or o Mod 2 <> 0 Or p Mod 2 <> 0 Or q Mod 2 <> 0 Then
                   Cells(lin, col) = m & " " & n & " " & " " & o & " " & p & " " & q
                   lin = lin + 1
                   If lin > 65536 Then
                     col = col + 1
                     lin = 1
                   End If
                  End If
                Next q
          Next p
     Next o
Next n
Next m
End Sub
 

Barnes

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

Bonjour Pierre-jean,
Sans aucune intention malveillante ou désagréable, je vous expédie un constat sur les codes transmis, bien pratique. L'intégrité laisse une interrogation :
Code de Pierre-jean avec une modification de retour en pied de colonne à la ligne 50 000 ou lieu de 64 ....

1850000 sur 37 colonnes de 50 000 combinaisons.
14381 sur la dernière colonne
1864381 Combinaisons au total
SOIT
14381 Combinaisons manquantes

1906884 combinaisons auraient dûes être affichées selon La fonction =COMBIN(49;5) d'Excel 2016 Où est l'erreur, s'il y en a une ?

Code de Roger Code de Pierre-jean
sur 1,... colonnes sur 37,... colonnes
14 18 32 34 35 14 18 32 34 35
14 18 32 34 37 14 18 32 34 37
14 18 32 34 39 14 18 32 34 39
14 18 32 34 41 14 18 32 34 41
14 18 32 34 43 14 18 32 34 43
14 18 32 34 45 14 18 32 34 45
14 18 32 34 47 14 18 32 34 47
14 18 32 34 49 14 18 32 34 49
Manquantes : Manquantes :
14 18 32 34 36 14 18 32 34 36
14 18 32 34 38 14 18 32 34 38
14 18 32 34 40 14 18 32 34 40
14 18 32 35 42 14 18 32 34 42
.....
Mon attirail de travail Win 10 Pro avec office 2016
Intel Core i7-7700K CPU non overclocké 4.2 GHZ
Exploitation 64 Bits. Ram DDR4, 64 Go. (Excel exploité 32bits)
NVIDIA GeForce GTX 1080
 

pierrejean

XLDnaute Barbatruc
Re
Sauf erreur de ma part COMBIN(49;5) compte toutes les combinaisons
Or un rapide examen de mon code tend a penser que sont exclues les valeurs paires
Par ailleurs les résultats que tu cites montrent des combinaisons de 10 (et non 5)
Avant d'entreprendre des tests d'une durée non négligeable j'aimerais que tu clarifies l’énonce du problème
 

Barnes

XLDnaute Nouveau
Re
Sauf erreur de ma part COMBIN(49;5) compte toutes les combinaisons
Or un rapide examen de mon code tend a penser que sont exclues les valeurs paires
Par ailleurs les résultats que tu cites montrent des combinaisons de 10 (et non 5)
Avant d'entreprendre des tests d'une durée non négligeable j'aimerais que tu clarifies l’énonce du problème

Bonjour Pierrejean,
En fait nous étions à étudier une manière d'identifier par code unique non utilisé pour des relevés que nous faisons depuis plusieurs années (Nous ne nous préoccupions pas au commencement de nos saisies d'identifiants uniques (1 enregistrement par jour depuis 15 ans + archives 20 ans). En regardant un peu partout, nous sommes tombés sur la série de numéros combinatoires dont vous avez exposé le principe par ligne de code. Nous nous sommes empressés de dire euréka et, à l'exécution, un trouble, des numéros absents tout du moins pas de suite logique. Nous avons exécuté à nouveau le code, toujours une interrogation : La raison de notre Post. Nous n'avions pas compris qu'il exécutait des séries en l'absence de combinaisons paires. Nous sommes remontés plus haut dans la discussion et avons vu l'origine de ce code. Nous avons supprimé la ligne de code qui faisait le tri (Mod 2) et le "end if" et tout est rentré dans l'ordre. Parfait !

Néanmoins, nous sommes des utilisateurs de produits finis, comme Excel, pour ce qui est du basique d'automation, nous savons les rudiments sans plus. Nous prenons sur internet pour construire quand cela dépasse le peu de notre savoir dans la matière.

Nous sommes à nouveau face à un problème de gestions de données et n'avons rien trouvé sur cette problématique.
De nouveau confrontés à des réflexions d'écritures VBA ardues pour nous, nous sommes en quête.
En résumé : Nous devons à partir d'un TCD simple, construire sur celui-ci un autre TCD avec des données supplémentaires devant calculer des récurrences et selon la valeur de chaque récurrence, une note sera attribuée et étant comprise entre 1 et 365 et -1 quand la récurrence dépasse le plafond de 365.
Sujet : Les Gaz dans l'atmosphère.

Nous vous communiquons un classeur excel avec un partiel de données déjà construites et un TCD simple qui reste dans ce que l'on sait faire. Au-delà, nous ne sommes plus compétents (Le deuxième TCD).

Toute décision que vous pourriez statuer sur notre sollicitation sera estimée à la bonne mesure de nos réflexions et notre courtoisie vous remercie par avance de votre attention.
Recevez nos amitiés Pierrejean
 

Pièces jointes

  • Taux de pollution atmosphérique.xlsx
    39.1 KB · Affichages: 84

Hoareau

XLDnaute Occasionnel
Re
Sauf erreur de ma part COMBIN(49;5) compte toutes les combinaisons
Or un rapide examen de mon code tend a penser que sont exclues les valeurs paires
Par ailleurs les résultats que tu cites montrent des combinaisons de 10 (et non 5)
Avant d'entreprendre des tests d'une durée non négligeable j'aimerais que tu clarifies l’énonce du problème

Dans mon post variable temporaire boucle du vendredi 13, j'avais demandé comment faire, pour mettre la dernière combinaison retenue dans un tableau (Variable temporaire) de façon à la comparer avec la combinaison en cours de traitement.

C'est la même procédure, mais sur 10 chiffres, je me rends compte après coup, que calculer pour 10 chiffres c'est long.

merci
 

meamandine

XLDnaute Nouveau
Bonjour, je suis actuellement bloquée sur un cas particulier de cet exemple, en fait je veux générer des arrangements en partant d'un vecteur (1,2,3,4,5) et pour un nombre n de colonnes.
exemple pour n=3 je vais avoir
1 1 1
1 1 2
1 1 3
1 1 4
1 1 5
1 2 1
1 2 2 ...
est ce qu'il y a une façcon de faire ça?
 

Discussions similaires

Réponses
6
Affichages
256

Statistiques des forums

Discussions
311 713
Messages
2 081 806
Membres
101 819
dernier inscrit
lukumubarth