mélanger aléatoirement des résultat

julien clerc

XLDnaute Junior
bonjour a tous j'ais un petit problème car je n'arrive pas a mélanger aléatoirement une liste de combinaisons si quelqu’un prouvé m'aider voici ma feuille de résultat que je voudrais mélanger aléatoirement

Sub combinaisons()
lin = 1
col = 1
For m = 1 To 20
For n = m + 1 To 20
For o = n + 1 To 20
For p = o + 1 To 20
For q = p + 1 To 20
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

merci de votre aide
 

eriiic

XLDnaute Barbatruc
Re : mélanger aléatoirement des résultat

Effectivement pour les tests je m’arrêtais à la colonne 25 au lieu de 252.
Je trouvais ça bien rapide aussi...

Met : For col = 1 To 252
Profites-en pour insérer un DoEvents avant le next col.
Ce qui donne :
Code:
Sub Mélanger()
    Dim lig As Long, col As Long, lig2 As Long, col2 As Long
    Dim tmp As String, t As Double
    Dim statusBarInitial
    statusBarInitial = Application.DisplayStatusBar
    Application.DisplayStatusBar = True
    
    t = Timer
    Randomize Timer
    Application.ScreenUpdating = False
    For col = 1 To 252
        For lig = 1 To 7567
            lig2 = Int(Rnd() * 7567 + 1)
            col2 = Int(Rnd() * 252 + 1)
            tmp = Cells(lig, col)
            Cells(lig, col) = Cells(lig2, col2)
            Cells(lig2, col2) = tmp
        Next lig
        Application.ScreenUpdating = True
        Application.ScreenUpdating = False
        Application.StatusBar = "Avancement : " & Format(((col - 1) * 7567) / 1906884, "0%")
        DoEvents
    Next col
    Application.ScreenUpdating = True
    Application.StatusBar = ""
    Application.DisplayStatusBar = statusBarInitial
    MsgBox ("Mélangé en " & Int(Timer - t) & " secondes.")
End Sub

eric
 

julien clerc

XLDnaute Junior
Re : mélanger aléatoirement des résultat

gros gros merci à Eric ça fonctionne parfaitement ,
je te remercie pour t'en aides et pour ta patience c'est très gentille de ta part
Merci encore


ps: oupsssssssssss je n'ai prévue le problème maintenant que les combinaison sont mélanger comment je peux retrouver une combinaison ex : " 1 4 16 20 45" ???
si ta une idée je suis a l'écoute car là je suis vraiment perdu !
 
Dernière édition:

Discussions similaires

Réponses
5
Affichages
167

Statistiques des forums

Discussions
312 103
Messages
2 085 312
Membres
102 860
dernier inscrit
fredo67