tirage sans doublon dans une liste (vba)

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

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

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:
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.
 
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

- 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

Discussions similaires

  • Question Question
XL 2016 liste
Réponses
10
Affichages
301
  • Question Question
Réponses
2
Affichages
124
Réponses
2
Affichages
130
Retour