[Excel] Tirage aléatoire lignes d'un tableau
Résolu
qjungers
Messages postés
2
Statut
Membre
-
qjungers Messages postés 2 Statut Membre -
qjungers Messages postés 2 Statut Membre -
Bonjour,
Je souhaite effectuer un tirage aléatoire de lignes sur un tableau. Le tableau fait environ 10000x20 et je souhaite créer un autre tableau (sur un autre onglet) qui serait constituer de 500 lignes sélectionner aléatoirement de ce tableau.
Mille Merci d'avance
Jung
Je souhaite effectuer un tirage aléatoire de lignes sur un tableau. Le tableau fait environ 10000x20 et je souhaite créer un autre tableau (sur un autre onglet) qui serait constituer de 500 lignes sélectionner aléatoirement de ce tableau.
Mille Merci d'avance
Jung
5 réponses
-
Bonjour CCM, je viens juste de terminer un exemple,..
Option Explicit Sub CopieAleatoire() Dim Lig As Long, LigCopy As Long, TB() As Boolean Dim DerLig As Long Dim WkCopy As Worksheet Randomize Timer Set WkCopy = Sheets("Feuil2") LigCopy = 1 With Sheets("Feuil1") DerLig = .Range("A" & Rows.Count).End(xlUp).Row ReDim TB(DerLig) 'éviter de recopier plusieur fois la même ligne Do While LigCopy <= 500 Lig = (DerLig * Rnd) + 1 While TB(Lig) = True Lig = (DerLig * Rnd) + 1 DoEvents Wend TB(Lig) = True .Rows(Lig).Copy WkCopy.Rows(LigCopy) LigCopy = LigCopy + 1 DoEvents Loop End With End Sub
Attention, si moins de 500 ligne bloque Excel, c'est pour cela que j'ai mis les DoEvents.
Si tu est certains du nombre de ligne tu peu les enlever pour accéléré le code.
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques. -
re
correction d'une erreur,
Pour copier dans la feuille extraction à partir de la colonne codebX
' copie des lignes selectionnées For k = 1 To nbliX d = T.items Sheets(nfO).Range(plageO).Rows(d(k - 1)).Copy Sheets(nfX).Cells(lidebX + k - 1, codebX) Next k
bonne suite -
bonjour
un exemple
https://www.cjoint.com/?0EhkYRFnXfX
et comme dit lermite222 (bonjour à toi),
tu pourras y ajouter Randomize pour réinitialiser le générateur d'aleas
bonne suite -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Voir avec la fonction Rnd() et Randomize
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.