Echantillonnage aléatoire

Nico27

XLDnaute Nouveau
Bonjour,

Je viens de découvrir ce site mais ne connaissant quasiment rien (pour ne pas dire rien) à Excel j'ai du mal à résoudre mon problème.

J'ai un fichier Excel avec 7 variables comprenand chacune 937 individus. Le nom des variables se trouve en colonne. J'aimerai pouvoir efféctuer un éhantillonnage aléatoire de 500 lignes parmis mes 937 lignes et sans qu'il y ait de doublon. Et si possible que mes 500 échantillons se retrouvent dans une autre feuille

Merci pour votre aide.
 

job75

XLDnaute Barbatruc
Re : Echantillonnage aléatoire

Bonjour Nico27, julberto, le forum,

La macro suivante sélectionne aléatoirement 500 lignes de la ligne 2 à la ligne 938, puis copie la plage en Feuil2 :

Code:
Sub SelectionAleatoire()
Dim d As Object, n%, ref$, plage As Range

Randomize
Set d = CreateObject("Scripting.Dictionary")
While d.Count < 500
  n = 2 + Int(937 * Rnd) 'nombre entier aléatoire de 2 à 938
  If Not d.Exists(n) Then
    ref = n & ":" & n 'référence texte
    Set plage = Union(IIf(d.Count, plage, Range(ref)), Range(ref))
    d.Add n, n
  End If
Wend

Application.ScreenUpdating = False 'évite un défilement
plage.Select 'pour montrer
Intersect(plage, Range("A:G")).Copy Sheets(2).Range("A2")

End Sub

Fichier joint.

A+
 

Pièces jointes

  • Nico27.zip
    22.9 KB · Affichages: 119
Dernière édition:

Nico27

XLDnaute Nouveau
Re : Echantillonnage aléatoire

Bonjour,

C'est vrai que j'ai oublié de mettre un fichier d'exemple.
Je viens d'essayer ton fichier job75 et il marche bien. Par contre j'aimerai savoir comment modifier la macro pour changer la valeur de mon échantillonnage

Merci beaucoup.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 735
Messages
2 082 023
Membres
101 873
dernier inscrit
excellllll