Générer des valeurs aléatoires VBA

Bonjour,

Je voudrais savoir comment générer des valeurs aléatoire compris entre 1 et une valeur qu'on rentre dans une cellule sans redondance.

voir ma pièce jointe où j'ai illustré ce que je cherche à faire.

merci beaucoup!

38tridevaleurs.xlsx (10.32 Ko)

onsoir,

une proposition de macro

Sub tiraleatoire()
 b = Range("G4")
 Dim a As Variant
 ReDim a(b)
 For i = 1 To b
  a(i) = i
 Next i
 For i = 1 To b
  q = Application.RandBetween(1, b - i + 1)
  Cells(4, 8 + i) = a(q)
  a(q) = a(b - i + 1)
 Next i
End Sub

merci beaucoup h2so4,

peut on juste déclarer un tableau pour les valeurs qui seront générées? (afin de faciliter la reprise de ces valeurs)

je pense qu'il faudra utiliser la fonction UBound mais je ne sais pas comment le déclarer correctement

merci

Sub tiraleatoire()
Randomize Timer
' b= nombre de numéros à tirer
 b = Range("G4")
 ' a tableau des numéros tirés
 Dim a As Variant
 'initialisation du tableau des numéros
 ReDim a(1 To b)
 For i = 1 To b
  a(i) = i
 Next i
 ' tirage aléatoire de b numéros
 For i = 1 To b
  q = Application.RandBetween(i, b)
  t = a(i)
  a(i) = a(q)
  a(q) = t
 Next i
 ' on met le tableau A dans la feuille
  Cells(4, 9).Resize(1, b) = a
End Sub
Rechercher des sujets similaires à "generer valeurs aleatoires vba"