Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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


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

Bonjour PierreJean
Avec Teabox tirage rnd ci dessus (tirage sans doublon dans une liste (vba)), sur une liste de 1400 propositions, le tirage de 230 données comporte des lignes vides ? D’où cela peu-il provenir?

bien cordialement
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…