bonjour
à la demande de baladur13, je te mets cette macro qui permet de copier un certain nombre de lignes sélectionnées aléatoirement sur une feuille sur une autre feuille et elle avait été conçue paramétrable.
Donc il faut mettre le nom correct de tes feuilles.
Option Explicit
Sub sélection()
Dim nbr_sel, nbr_elm, nbr_col, choix, pos, lig, i
Dim inf_feu, inf_lig, inf_col
Dim res_feu, res_lig, res_col
nbr_sel = 200 ' le nombre de lignes à récupérer
nbr_col = 20 ' le nombre de colonnes à recopier
inf_lig = 2 ' les données sont en ligne inf_lig
inf_col = 1 ' les données sont en colonne inf_col
inf_feu = "données" ' les données sont sur la feuille inf_feu
res_lig = 1 ' le résultat est en ligne res_lig
res_col = 1 ' le résultat est en colonne res_col
res_feu = "resu" ' le résultat est sur la feuille res_feu
' récupération du nombre de lignes de données
nbr_elm = Worksheets(inf_feu).Cells(inf_lig, inf_col).End(xlDown).Row
' suppression précédente sélection
Worksheets(res_feu).Cells(res_lig, res_col).CurrentRegion.ClearContents
For lig = 0 To nbr_sel - 1
Do
choix = Int(Rnd(1) * nbr_elm) + inf_lig
For i = 0 To lig ' test doubles
If Worksheets(res_feu).Cells(res_lig, res_col).Offset(i).Value _
= Worksheets(inf_feu).Cells(inf_lig, inf_col).Offset(choix - inf_lig).Value _
Then
Exit For
End If
Next i
Loop Until Worksheets(res_feu).Cells(res_lig, res_col).Offset(i).Value = ""
' copie des données sélectionnées
Worksheets(res_feu).Cells(res_lig, res_col).Offset(lig).Formula = "=" & inf_feu & "!R" & choix & "C"
Worksheets(res_feu).Cells(res_lig, res_col).Offset(lig).Resize(1, nbr_col).FillRight
Next lig
End Sub
Sur la feuille "resu" ou le nom que tu lui donnera, tu obtiendra les 200 lignes sélectionnées au hasard.
La macro doit être copiée
sur la feuille ou dans un module