tirage sans doublon dans une liste (vba)

teabox

XLDnaute Nouveau
Bonjour à tous,

Je suis novice en vba et je n'ai pas été capable de trouver une solution à mon problème malgré de nombreuses discussions sur le sujet.

J'ai une série de données numérotés et je voudrais trouver un moyen de tirer aléatoirement et sans doublon un nombre variable de ces données (5 par exemple) pour les travailler indépendement dans un autre tableau.

Je vous joint un exemple du format de ma fiche de travail.

Merci d'avance pour votre aide.

teabox
 

Pièces jointes

  • test-rnd.xlsx
    10.6 KB · Affichages: 135

tototiti2008

XLDnaute Barbatruc
Re : tirage sans doublon dans une liste (vba)

Bonjour teabox,

un essai

Code:
Sub tirage()
Dim dico, Nb As Long, Tablo, Azard As Double, i As Long
    Nb = Range("F5").Value
    Set dico = CreateObject("Scripting.Dictionary")
    Do Until dico.Count >= Nb
        Tablo = Range("A2:A" & Range("A" & ActiveSheet.Rows.Count).End(xlUp).Row).Value
        Randomize
        Azard = Int(Rnd() * (UBound(Tablo, 1)) + 1)
        dico(Tablo(Azard, 1)) = Tablo(Azard, 1)
    Loop
    Tablo = dico.keys
    Range("O1").Value = "id"
    Range("H2:O65536").ClearContents
    For i = 0 To UBound(Tablo)
        Range("O" & i + 2).Value = Tablo(i)
    Next i
    Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "O1").CurrentRegion, CopyToRange:=Range("H1:K1"), Unique:=False
    Range("O1").EntireColumn.ClearContents
End Sub

Edit : pour que ça fonctionne, efface l'espace en H1 à la fin de "id"
 
Dernière édition:

tdenfert

XLDnaute Impliqué
Re : tirage sans doublon dans une liste (vba)

Bonjour,

Une méthode simple, pas parfaite mais qui fonctionne à priori sans VBA
je sais, c’était demande avec VBA
 

Pièces jointes

  • tirage.xls
    28 KB · Affichages: 172
  • tirage.xls
    28 KB · Affichages: 171
  • tirage.xls
    28 KB · Affichages: 174

pierrejean

XLDnaute Barbatruc
Re : tirage sans doublon dans une liste (vba)

Bonjour teabox

Vois si cela te convient
 

Pièces jointes

  • test-rnd.xlsm
    24.5 KB · Affichages: 203
  • test-rnd.xlsm
    24.5 KB · Affichages: 174
  • test-rnd.xlsm
    24.5 KB · Affichages: 180
Dernière édition:

teabox

XLDnaute Nouveau
Re : tirage sans doublon dans une liste (vba)

Merci à tous pour les réponses si rapides.

Elles fonctionnent parfaitement. Il ne me reste plus qu'à étudier tout ça pour être en mesure de comprendre le code!

Merci aussi pour la méthode non vba, mais le problème est que le fichier original comprend plusieurs centaines de données.
 
C

Compte Supprimé 979

Guest
Re : tirage sans doublon dans une liste (vba)

Bonjour à tous

Une autre méthode sans utiliser de "dico" ;)

A+
 

Pièces jointes

  • Teabox_Tirage_rnd.xlsm
    18.9 KB · Affichages: 202
  • Teabox_Tirage_rnd.xlsm
    18.9 KB · Affichages: 187
  • Teabox_Tirage_rnd.xlsm
    18.9 KB · Affichages: 171

Modeste geedee

XLDnaute Barbatruc
Re : tirage sans doublon dans une liste (vba)

Bonsour®
Je suis novice en vba
sourire
c'est du masochisme ou c'est pour le fun ...

J'ai une série de données numérotés et je voudrais trouver un moyen de tirer aléatoirement et sans doublon un nombre variable de ces données (5 par exemple) pour les travailler indépendement dans un autre tableau.
Je vous joint un exemple du format de ma fiche de travail.

donc pour le fun...
une proposition sans VBA,
avec ALEA(), RANG, INDEX/EQUIV
et surtout utilisant avantageusement les fonctionnalités des TABLES (Excel2007 et+)
 

Pièces jointes

  • Tirage_rnd(Table).xlsm
    22.1 KB · Affichages: 149

Discussions similaires

Réponses
3
Affichages
238

Statistiques des forums

Discussions
312 147
Messages
2 085 767
Membres
102 968
dernier inscrit
Tmarti