Bonjour,
Comme beaucoup je débute dans les macros et j'ai besoin d'aide.
Besoin = A partir d'une liste je dois extraire un échantillon. Le problème c'est que le nombre d’occurrence n'est jamais le même, il peut être de 10 puis une autre fois de 150 par exemple.
En cherchant sur les différents forums, j'ai trouvé le code ci-dessous qui répond presque entièrement à mon besoin :
-----------------------------------------------------------------------------------------
Sub SelectionAleatoire()
Dim d As Object, n%, ref$, plage As Range
Randomize
Set d = CreateObject("Scripting.Dictionary")
While d.Count < 354
n = 2 + Int(999 * Rnd) 'nombre entier aléatoire de 2 à 1000
If Not d.Exists(n) Then
ref = n & ":" & n 'référence texte
Set plage = Union(IIf(d.Count, plage, Range(ref)), Range(ref))
d.Add n, n
End If
Wend
Application.ScreenUpdating = False 'évite un défilement
plage.Select 'pour montrer
Intersect(plage, Range("A:G")).Copy Sheets(2).Range("A2")
End Sub
-----------------------------------------------------------------------------------------
Mon problème est sur le partie "While d.Count < 354"
Par défaut, dans le code le nombre d’occurrence est donc de "354", je voudrais au moment de lancer la macro choisir moi-même cette valeur sans aller le modifier manuellement dans le code à chaque fois.
Pouvez-vous m'aider s'il vous plait ?
Je vous remercie par avance