petit problème combinaison : mémoire insuffisante

julien clerc

XLDnaute Junior
voila , un code vba pour une combinaisons de 5 numéros parmi 25
seulement, je veux classer 10 combinaisons par colonne, impossible d'écrire les combinaison manquante sur la feuille n°2 .

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

merci de votre aide ;)
 

Gurgeh

XLDnaute Occasionnel
Re : petit problème combinaison : mémoire insuffisante

Salut julien,

Je viens d'essayer ton code, il s'exécute en quelques secondes et le résultat s'affiche sans problème...

En revanche il faut un peu plus de 5000 colonnes, et je ne sais plus si Excel 2007 gère ça... Sinon, tu pourrais les écrire en ligne, plutôt.

Gurgeh
 

julien clerc

XLDnaute Junior
Re : petit problème combinaison : mémoire insuffisante

désolé j'ai publier le mauvais code tien c'est celui la
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 > 10 Then
col = col + 1
lin = 1
End If
Next q
Next p
Next o
Next n
Next m
End Sub

merci de ton aide
 

Gurgeh

XLDnaute Occasionnel
Re : petit problème combinaison : mémoire insuffisante

Ah oui, c'est plus ambitieux.

Les 16300 et quelques colonnes d'Excel 2007 ne suffiront pas.

Deux possibilités :
* utiliser tes futurs gains au loto pour développer une nouvelle version d'Excel avec suffisamment de colonnes
* mettre les résultats plutôt en groupe de 10 colonnes qu'en groupe de 10 lignes (Excel est limité à 10 millions de lignes, ça donne un peu plus d'air puisqu'un peu moins de 200 000 lignes devraient être nécessaire. Tu peux y arriver en inversant lin et col dans ton code

J'ai essayé (la 2ème option ) et ça marche.

Gurgeh
 

Modeste geedee

XLDnaute Barbatruc
Re : petit problème combinaison : mémoire insuffisante

Bonsour®
:confused:
quel interet et dans quel but lister les X millions de combinaisons (6/49) ????

mathématiquement parlant on sait qu'elles existent,
visuellement même à 1/4 de seconde par combinaison tu aura bien vieilli lorsque tu les aura toutes lues une à une ...
:rolleyes:

13 983 816 combinaisons ,
lecture 1/4 de secondes par combinaisons, temps de lecture total : 971 h 5 minutes 54 secondes
Le fichier genere aura une taille de plusieurs Mo ! (#220 Mo)
 
Dernière édition:

julien clerc

XLDnaute Junior
Re : petit problème combinaison : mémoire insuffisante

bonjour, d'abord merci a gurgeh pour ta réponse très sympa de ta part .
ensuite modeste geedee je ne te demande pas des conseils ou ton avis je pose une difficulté et j’attends une solution, si possible , si ce n'est pas possible ça sera tampis pour moi, inutile d'exposer tes démonstrations sur le temps que cela prendra ....

encore merci à gurgeh ;)
 

Staple1600

XLDnaute Barbatruc
Re : petit problème combinaison : mémoire insuffisante

Bonjour

Mon petit Julien
Sache que dès que tu poses une question sur un forum public, celle-ci ne t’appartient plus.
Et les différences réponses qui y sont apportée le sont certes pour l'initiateur de la question mais surtout pour la communauté de lecteurs qui tomberont sur ton fil.

Je remercie donc Modeste pour son intervention, où l'on apprends quelquechose
Je ne te remercie pas pour la tienne, où on l'apprends juste que tu sais être irascible ;)

PS: Je remercie également Gurgeh d'avoir su par sa réponse limiter cette même irascibilité à un niveau supportable ;)
 
Dernière édition:

Discussions similaires

Réponses
5
Affichages
166

Statistiques des forums

Discussions
312 080
Messages
2 085 144
Membres
102 793
dernier inscrit
volfy