Microsoft 365 Comment faire un échantillonnage?

lemanois

XLDnaute Nouveau
Bonjour à Tous

j'ai une liste de 500 noms.
je voudrais constituer un échantillon de 225 noms et une liste de réserve de 50 noms triés de façon aléatoire par Excel.
Aussi, je voudrais que échantillon soit affiché devant chacun des 225 noms et réserve devant la liste de réserve.
Comment faire ? J'ai besoin de votre aide SVP.
En attache le fichier Excel. j'utilise office 365.
Merci
 

Pièces jointes

  • Echantillon.xlsx
    106 KB · Affichages: 7

JHA

XLDnaute Barbatruc
Bonjour à tous,

Désolé, j'ai oublié la moitié de la formule.
VB:
=INDEX(Tableau14[Nom];EQUIV(PETITE.VALEUR(Tableau14[Colonne1];LIGNE(1:1));Tableau14[Colonne1];0))&" "&INDEX(Tableau14[Prénoms];EQUIV(PETITE.VALEUR(Tableau14[Colonne1];LIGNE(1:1));Tableau14[Colonne1];0))

JHA
 

Pièces jointes

  • Echantillon (1).xlsx
    126 KB · Affichages: 6

job75

XLDnaute Barbatruc
Bonjour lemanois, JHA,

Voyez le fichier joint et la macro affectée au bouton :
VB:
Sub Tiragz()
Application.ScreenUpdating = False
With [Tableau14].ListObject.Range
    .Cells(1, .Columns.Count + 1).EntireColumn.Resize(, 4).Clear 'RAZ
    If .Rows.Count < 276 Then MsgBox "Le tableau doit avoir au moins 275 lignes...": Exit Sub
    .Columns(3).Resize(, 2).Copy .Cells(1, .Columns.Count + 3) 'copier-coller
    With .Cells(2, .Columns.Count + 2).Resize(.Rows.Count - 1)
        .Formula = "=RAND()" 'ALEA()
        .Value = .Value 'supprime les formules
        .Resize(, 3).Sort .Cells, Header:=xlNo 'tri
        .Cells(276).Resize(Rows.Count - .Row - 274, 3).Clear 'RAZ en dessous
        .Resize(225) = "Echantillon"
        .Cells(226).Resize(50) = "Réserve"
        .Resize(, 3).Columns.AutoFit 'ajustement largeurs
    End With
End With
End Sub
A+
 

Pièces jointes

  • Echantillon(1).xlsm
    115.1 KB · Affichages: 2

lemanois

XLDnaute Nouveau
Bonjour lemanois, JHA,

Voyez le fichier joint et la macro affectée au bouton :
VB:
Sub Tiragz()
Application.ScreenUpdating = False
With [Tableau14].ListObject.Range
    .Cells(1, .Columns.Count + 1).EntireColumn.Resize(, 4).Clear 'RAZ
    If .Rows.Count < 276 Then MsgBox "Le tableau doit avoir au moins 275 lignes...": Exit Sub
    .Columns(3).Resize(, 2).Copy .Cells(1, .Columns.Count + 3) 'copier-coller
    With .Cells(2, .Columns.Count + 2).Resize(.Rows.Count - 1)
        .Formula = "=RAND()" 'ALEA()
        .Value = .Value 'supprime les formules
        .Resize(, 3).Sort .Cells, Header:=xlNo 'tri
        .Cells(276).Resize(Rows.Count - .Row - 274, 3).Clear 'RAZ en dessous
        .Resize(225) = "Echantillon"
        .Cells(226).Resize(50) = "Réserve"
        .Resize(, 3).Columns.AutoFit 'ajustement largeurs
    End With
End With
End Sub
A+S
 

Discussions similaires

Statistiques des forums

Discussions
315 096
Messages
2 116 184
Membres
112 677
dernier inscrit
Justine11