Sub aleatoire()
Application.ScreenUpdating = False
Dim i As Integer, nb As Integer, a As Integer, b As Integer, dico As Object
Set dico = CreateObject("Scripting.Dictionary")
nb = 10 'nombre de lignes du tableau
a = -1 'limite inférieur
b = 1.75 'limite supérieure
For i = 1 To nb
'Randomize 'faut-il ou pas le mettre ???
dico(i) = Int(b - a + 1) * Rnd() + a 'bidouillage algorithmique
Next
[A2].Resize(dico.Count, 1) = Application.Transpose(dico.items)
Application.ScreenUpdating = True
End Sub
Sub aleatoire()
Dim i As Integer, nb As Integer, a As Double, b As Double, dico As Object
Set dico = CreateObject("Scripting.Dictionary")
nb = 10 'nombre de lignes du tableau
a = -1 'limite inférieur
b = 1.75 'limite supérieure
Randomize
For i = 1 To nb
dico(i) = (b - a) * Rnd() + a
Next
Application.ScreenUpdating = False 'Pas vraiment utile...
[A2].Resize(dico.Count, 1) = Application.Transpose(dico.items)
Application.ScreenUpdating = True
End Sub
Sub aleatoire()
Application.ScreenUpdating = False
Dim i As Integer, nb As Integer, a As Integer, b As Integer, dico As Object
Set dico = CreateObject("Scripting.Dictionary")
nb = 10 'nombre de lignes du tableau
a = -100 'limite inférieur multipliée
b = 175 'limite supérieure multipliée par 100 pour avoir un entier
For i = 1 To nb
Randomize
x = (Int(b - a) * Rnd() + a) / 100
dico(x) = x
Next
[A2].Resize(dico.Count, 1) = Application.Transpose(dico.items)
Application.ScreenUpdating = True
End Sub
Dictionary, objet
Description
Objet qui stocke des paires clé/élément de données.
Syntaxe
Scripting.Dictionary
Remarques
Un objet Dictionary est l'équivalent d'un tableau associatif PERL. Les éléments, pouvant correspondre à n'importe quelle forme de données, sont stockés dans le tableau. Chaque élément est associé à une clé qui lui est propre. La clé est utilisée pour extraire un élément individuel et correspond généralement à un nombre entier ou à une chaîne, mais peut être n'importe quelle information à l'exception d'un tableau.
Sub Aleatoire(LimInf As Double, LimSup As Double, Plage As Range, Virgule As Byte)
'Dresse une liste de nombres aléatoires
'- LimInf : la plus petite valeur possible de la fourchette de nombres possibles
'- LimSup : la plus grande valeur possible de la fourchette de nombres possibles
'- Plage : plage où apparaissent les nombres aléatoires
'- Virgule : si = 0 --> nombres entiers
' si > 0 --> détermine alors le nombre de décimales après la virgule
'ROGER2327 / Magic_Doctor / job75
Dim dico As Object, i As Integer, NbLgn As Integer
Set dico = CreateObject("Scripting.Dictionary")
NbLgn = HTABLO(Plage, 0) 'nombre de lignes de la plage [Plage]
Randomize
While dico.Count < NbLgn
dico(Round((LimSup - LimInf) * Rnd() + LimInf, Virgule)) = ""
Wend
Plage = Application.Transpose(dico.keys)
End Sub
ActiveWindow.DisplayZeros = True
Sub a()
MsgBox Rnd
End Sub
Sub b()
MsgBox Application.Round(Rnd, 15)
End Sub