Générer série nombres aléatoire VBA

Bonjour,

je voudrais faire un programme qui permet générer N nombres aléatoires entiers ( N < 1000) avec la valeur de chaque nombre aléatoire généré compris entre 0 et 100

svp quelqu’un peut m’aider. Merci d’avance

Bonjour,

Simplement avec l'enregistreur de macro

Sub Macro1()
    Application.Goto Reference:="R1000C1"
    Range("A1000").Select
    Range(Selection, Selection.End(xlUp)).Select
    Selection.FormulaR1C1 = "=RANDBETWEEN(0,1000)"
    Range("A1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues
    Range("A1").Select
    Application.CutCopyMode = False
End Sub

bonjour,

une autre proposition

Sub aargh()
    n = 1000
    Dim t(1 To 1000, 1 To 1)
    For i = 1 To n
        t(i, 1) = aleatoire(0, 100)
    Next i
    Range("A1").Resize(n, 1) = t
End Sub

Function aleatoire(borne_inférieure, borne_supérieure)
    aleatoire = Int(Rnd() * borne_supérieure + 1) - borne_inférieure
End Function

Je me permet juste un petit additif si tu le permets H2SO4

Sub aargh()
    n = 1000
    Dim t(1 To 1000, 1 To 1)

    Randomize Timer

    For i = 1 To n
        t(i, 1) = aleatoire(0, 100)
    Next i
    Range("A1").Resize(n, 1) = t
End Sub

Function aleatoire(borne_inférieure, borne_supérieure)
    aleatoire = Int(Rnd() * borne_supérieure + 1) - borne_inférieure
End Function

Si tu ne te connectes pas à l'oscillateur avec un Randomize Timer, chaque fois que tu ouvriras ton fichier il génèrera la même séquence aléatoire.

bonjour, merci de votre réponse

mais je veux sortir N valeurs aléatoire entre 1 à 1000, et chaque valeur y compris 0 à 100

j'ai essayé de définir N aléatoires mais le résultat N c'est toujour 1000

Sub aargh()
dim n as long   
 n = alea(0,1000)
    Dim t(1 To 1000, 1 To 1)

    Randomize Timer

    For i = 1 To n
        t(i, 1) = aleatoire(0, 100)
    Next i
    Range("A1").Resize(n, 1) = t
End Sub

Function alea(borne_inférieure, borne_supérieure)
    alea = Int(Rnd() * borne_supérieure + 1) - borne_inférieure
Function aleatoire(borne_inférieure, borne_supérieure)
    aleatoire = Int(Rnd() * borne_supérieure + 1) - borne_inférieure
End Function
screenshot

Ca m'a retourné la tête ton truc :

mais je veux sortir N valeurs aléatoire entre 1 à 1000, et chaque valeur y compris 0 à 100

Ca veut dire quoi exactement ?

Excusez moi mon niveau francais n'est pas bon. je veux générer N nombres (N est nombre aléatoire entre 0 à 1000)

et puis chaque valeur nombre aléatoire généré compris entre 0 à 100

j'espère que j'ai bien expliqué. merci

bonjour,

Sub aargh()
    Range("A1").Resize(1000, 1).ClearContents
    Randomize Timer ' à ajouter si tu ne veux pas toujours la même séquence, (cfr optimix)
    n = aleatoire(0, 1000)
    Dim t(1 To 1000, 1 To 1)
    For i = 1 To n
        t(i, 1) = aleatoire(0, 100)
    Next i
    Range("A1").Resize(n, 1) = t
End Sub

Function aleatoire(borne_inférieure, borne_supérieure)
    aleatoire = Int(Rnd() * borne_supérieure + 1) - borne_inférieure
End Function
Ce n'est pas pareil : n nombres entiers aléatoires compris entre 0 et 100.
Sub alea()
    Randomize Timer
    n = Rnd() * 1000 + 1
    Range("A:A").ClearContents

    For i = 1 To n
        Range("A" & i) = Int(Rnd() * 100)
    Next i
End Sub

Merci beaucoup, j’ai bien compris

Bonne continuation.

Rechercher des sujets similaires à "generer serie nombres aleatoire vba"