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

mélanger aléatoirement des résultat

  • Initiateur de la discussion Initiateur de la discussion julien clerc
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

julien clerc

Guest
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
 
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
 
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 modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
280
Réponses
2
Affichages
257
Réponses
5
Affichages
909
Réponses
2
Affichages
527
Réponses
15
Affichages
782
Réponses
4
Affichages
732
Réponses
8
Affichages
780
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
293
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…