Choix aléatoire de 200 valeurs parmi 1000 sans doublons

  • Initiateur de la discussion Initiateur de la discussion exene
  • 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 !

exene

XLDnaute Accro
Bonjour,

Je ne sais pas si le titre de la discussion est explicite.

En Feuille1, colonne A, mille valeurs. Je souhaiterais pouvoir extraire 200 valeurs de façon aléatoire et sans doublons et les copier en Feuille2, colonne A. Ensuite la ListBox est alimentée par ces 200 valeurs.

Pour illustrer mon propos, j'ai utilisé la fonction aléa entre bornes en Feuiille2 mais cela ne fonctionnera pas dans le projet final.

Merci du temps passé pour me répondre.

@+
 

Pièces jointes

Re : Choix aléatoire de 200 valeurs parmi 1000 sans doublons

Bonjour à tous,
Salut Pascal,

Peux-tu essayer avec ceci :

VB:
Option Explicit


Sub Lancement()    ' Adapté de Robert sur XLD
    Dim x%, y As Byte, t%, Z%
    Dim Val()
    Z = Feuil1.Range("A65536").End(xlUp).Row
    Feuil2.Range("A2:A202").ClearContents
    For x = 2 To 201
        Randomize
        t = Int((Z * Rnd) + 1)
        'If t = 10 Then Exit Sub
        Feuil2.Cells(x, 1).Value = Feuil1.Cells(t, 1).Value
        ReDim Preserve Val(x - 1)
        If x > 1 Then
            For y = 0 To UBound(Val, 1)
                If t = Val(y) Then
                    Cells(x, 1).Value = ""
                    x = x - 1
                    GoTo Suite
                End If
            Next y
        End If
        Val(x - 1) = t
Suite:
    Next x
End Sub

A++
A+ à tous
 
Re : Choix aléatoire de 200 valeurs parmi 1000 sans doublons

Bonjour,

Salut JC, la procédure me retourne des cellules vides en Feuille2 et des #NA# en colonne B

Voir le fichier joint

PS : Effectivement, j'ai remarqué que Picketti additionnait des pourcentages 😱
 

Pièces jointes

Re : Choix aléatoire de 200 valeurs parmi 1000 sans doublons

Re

La liste source est figée et sans ligne vide. Je ne comprends avoir joint un fichier avec des vides (bétâ, que je suis).
J'ai remarqué que la procédure créait des cellules vides dans la Feuille1 😕
 
Re : Choix aléatoire de 200 valeurs parmi 1000 sans doublons

Bonjour JCGL, DRANREB et Exene,

Si je comprends bien tu ne veux pas de doublons pour le tirage , mais tu ne souhaites pas supprimer les éléments sélectionnés de la liste d'origine.
une mémorisation des tirages dans un dico ou dans une liste ou dans un tableau serait l'idéal je pense.

A mois que l'idée de Dranreb te satisfasse .

Cordialement,
 
Re : Choix aléatoire de 200 valeurs parmi 1000 sans doublons

Bonsour
En Feuille1, colonne A, mille valeurs. Je souhaiterais pouvoir extraire 200 valeurs de façon aléatoire et sans doublons et les copier en Feuille2, colonne A. Ensuite la ListBox est alimentée par ces 200 valeurs.

garanti sans vide et sans doublon : (sauf s'il y a déjà des vides et doublons dans la liste d'origine 😛)
Capture.JPG
 

Pièces jointes

Re : Choix aléatoire de 200 valeurs parmi 1000 sans doublons

Bonjour,

Jean Claude, je viens d'essayer ton dernier code, l'en tête de colonne se retrouve au milieu de la liste aléatoire.?

camarchepas, la liste en Feuille1 doit resté figée (enfin, jusqu'à la prochaine réorganisation du service)

Modeste geedee, le code fonctionne bien, mais le secteur ne doit pas apparaître dans la ListBox.

Le contexte : Dans mon travail, une règle très ancienne, pour devenir titulaire d'une position de travail, un agent doit pouvoir associer une rue à un secteur ( la rue x appartient au secteur 1, la rue y appartient au secteur 2)

La règle : 200 rues tirées au hasard, l'agent doit les associer aux différents secteurs, il a dix minutes pour ce faire avec au maximum trois erreurs.

VBA Crumble avait commencé une ébauche mais a décidé de se retirer du Forum

Auparavant, nous avions différents jeux de 200 enveloppes, l'agent triait et au bout de dix minutes, on vérifiait la concordance entre les rues et les secteurs.

Maintenant, ils ont tous une clé USB et souhaitent simuler cet examen à la maison. J'essaye de trouver une solution à leur besoin.

NB : Avoir cet examen est un véritable confort dans le quotidien.
 
Re : Choix aléatoire de 200 valeurs parmi 1000 sans doublons

Bonsour®
Modeste geedee, le code fonctionne bien, mais le secteur ne doit pas apparaître dans la ListBox.

Le contexte : Dans mon travail, une règle très ancienne, pour devenir titulaire d'une position de travail, un agent doit pouvoir associer une rue à un secteur ( la rue x appartient au secteur 1, la rue y appartient au secteur 2)

La règle : 200 rues tirées au hasard, l'agent doit les associer aux différents secteurs, il a dix minutes pour ce faire avec au maximum trois erreurs.
alors simplement :
Capture.JPG
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    68.2 KB · Affichages: 66
  • Capture.JPG
    Capture.JPG
    68.2 KB · Affichages: 70
Re : Choix aléatoire de 200 valeurs parmi 1000 sans doublons

Bonsour®

tiens pour aller plus loin :
Capture.JPG
😱 😎
 

Pièces jointes

Dernière édition:
Re : Choix aléatoire de 200 valeurs parmi 1000 sans doublons

salut

on perd la tête Modeste geedee 😎
Ho (E) rreur.jpg

La feuille intermédiaire est vraiment utile ?
Dans l'exemple joint, elle n'est donnée que si c'est le cas.
Sinon le code peut être très simple :
VB:
Private Sub UserForm_Initialize()
  Dim Zone, Temp
  Dim n As Long, L As Byte
  [A2:B201] = ""
  Randomize
  Zone = Feuil1.[A2:A1001]
  For L = 1 To 200
      n = Int(1000 * Rnd) + 1
      Temp = Zone(n, 1)
      Zone(n, 1) = Zone(L, 1)
      Zone(L, 1) = Temp
      ListBox1.AddItem Zone(L, 1)
  Next
End sub
 

Pièces jointes

Dernière édition:
Re : Choix aléatoire de 200 valeurs parmi 1000 sans doublons

Bonsour® Si...

tu as certainement raison 😎
la lumière vient souvent du partage.

je suis d'abord formuliste avant d'etre VBaïste... 😎
le code fourni découle donc d'une transposition rapide : manuel => proc.
tu aura remarqué également que je mixe allégrement formules et procs 🙄
dans le listbox je ramène également 3 colonnes a fin de lier la rue à son secteur.

Nb :
je n'ai pas fourni de : Echantillon-4.xls ... 😕
je ne reproduis pas l'erreur que tu signales
Lien supprimé 🙁

voir dernier lien : Lien supprimé

@+
 
Dernière édition:
Re : Choix aléatoire de 200 valeurs parmi 1000 sans doublons

re

Nb :
je n'ai pas fourni de : Echantillon-4.xls ... 😕
@+

donc je ne sais pas* où je l'ai téléchargé, mais peu importe, avec ma machine, ce message apparait quel que soit le fichier que tu as proposé (y compris le dernier).

* je dois manquer de mémoire 😉

Il n'empêche que ton fichier m'apporte beaucoup et je m'en vais le décortiquer complètement.
 
- 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
Retour