XL 2016 sélection aléatoire de 5% d'une liste

lplv

XLDnaute Nouveau
Bonjour à tous,

Je viens d'arriver sur le forum et me tourne donc vers vous car je suis bloquée face à une sélection aléatoire. Je voudrais en effet savoir s'il est possible sur excel de tirer au sort (donc aléatoirement) - et sans doublon - 5% d'une liste avec un minimum de 3 items sélectionnés.

Je m'explique si la liste est de 150 alors il y aura 8 items sélectionnés (on arrondit au supérieur)
Si la liste n'est que de 35 alors il y aura tout de même 3 items sélectionnés (35/0.05=1.75 mais minimum de 3)

Je vous remercie d'avance pour votre aide
 

patricktoulon

XLDnaute Barbatruc
re
version sans dico corrigée
Code:
Sub test2()
    Dim tablo, t, x&, i&, q#
    Randomize
    tablo = Range("A1", Cells(Rows.Count, "A").End(xlUp)).Value
    q = UBound(tablo) * Range("F1"): q = IIf(Int(q) < q, Int(q) + 1, q)
    q = Application.Max(q, [F2].Value)
    ReDim t(1 To q, 1 To 1)
    Do While i < q
        x = 1 + Round(Rnd * (UBound(tablo) - 1))
        If IsError(Application.Match(tablo(x, 1), t, 0)) Then i = i + 1: t(i, 1) = tablo(x, 1)
    Loop
    Range("C1:C" & q).Value = (t)
End Sub
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Non, ça dit probablement qu'on ne peut pas changer une partie de matrice. Il faut revalider par Ctrl+Maj+Entrée.
Mais normalement il n'y a pas à changer quoi que ce soit: le résultat s'adapte au nombre de projets renseignés en colonne A.
La colonne C1 contient la graine, c'est à dire une base de départ des générations de nombres aléatoires, pour que tout ne change pas à chaque recalcul. J'y ai mis la date (ou celle d'après-demain peut être, suite à divers essais).
 

patricktoulon

XLDnaute Barbatruc
re
ben en fait tu fait ce que tu veux tu a 3 solution valables
  1. danreb avec ses formules et sa fonction perso (donc dynamique)
  2. Pierre jean avec un dictionnaire ( appel de la sub)
  3. moi avec match sur un tableau dimensionné avec le résultat du pourcentage( appel de la sub)

c'est bien d'avoir le choix ;)
 

Discussions similaires

Réponses
18
Affichages
744