Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

fonction randomize

louli78

XLDnaute Nouveau
Bonjour,

Je n'arrive pas très bien à écrire la fonction rnd sous VBA car mes valeurs min et max varient tout le temps. Du coup j'ai écris le formule:
A = Int((Mx - Mn + 1) * Rnd + Mn)
et j'ai défini Mx = range("C9").value
et Mn = range("C10").value

Mais ca bug. Savez vous comment je peux faire?
 

Pierrot93

XLDnaute Barbatruc
Re : fonction randomize

Bonjour louli, lebarbo

ce code fonctionne également chez moi, après voir ce qui est renvoyé dans tes variables, si ies valeurs sont bien considérées comme des nombres...

bon après midi
@+
 

louli78

XLDnaute Nouveau
Re : fonction randomize

Voici ma programmation. Il manque probablement plein de choses, et le programme est surement faux dans sa globalité. On ne se moque pas je suis débutante en VBA

Sub nombres_aléatoires()

Dim i As Integer, j As Integer, k As Integer
Dim Tblo(), Rg As Range, A As Integer
Dim Mx As Integer, Mn As Integer
Dim Nb As Integer
Dim feuille As String

Mn = Range("C9").Value
Mx = Range("C10").Value
Nb = Range("Z10").Value

feuille = "risque"


'For Count = 1 To Range("Z10").Value
ReDim Tblo(1 To Nb)
Randomize
Application.ScreenUpdating = False
For i = 1 To UBound(Tblo, 1)
Tblo(i, 1) = Int((Mx - Mn + 1) * Rnd + Mn)
For k = 1 To Nb - 1
Next

End Sub
 

jojo3008

XLDnaute Junior
Re : fonction randomize

Hello Louli, Pierrot , lebarbo

ya deux boucles For , et une troisième avec un guillemet qui la met en commentaire...
Puis dans ton Next il faut que tu mette Next compteur
dernière remarque dans ton dernier for il se passe rien ? Le plus simple serait que tu nous dise ce que tu veux faire exactement !

A bientot
jojo


Edit : désolé j avais oublié de dire bonjour
 

louli78

XLDnaute Nouveau
Re : fonction randomize

En gros, j'ai un investissement que je veux faire varier en fonction d'un certain % de variation que l'on peut changer: je calcul les deux nouvelles valeurs d'investissement qui vont etre mon min et mon max:
Mn = Range("C9").value
Mx = Range("C10").Value
Je veux générer autant de valeurs aléatoires entre mes deux bornes (min et max) que le nombre inscrit dans la case Z10 (qui peut également etre modifiée) d'ou le Nb = Range("Z10").Value

Je ne sais pas si je suis assez claire...
 

jojo3008

XLDnaute Junior
Re : fonction randomize

Re
ça me rapelle mes simulations de monte carlo
essaye ça :

Code:
Sub test()
'définit préalablement Min Max et Nb
dim i as integer
Dim tabl(Nb) as double
Randomize
For i = 1 To Nb
tabl(i) = Int((Mx - Mn + 1) * Rnd + Mn)
Next i
End Sub

Mais tu veux pas récupérer tes résultats? si tu vx t as juste a les mettre dans une cellule.

Voila j'espère que c est ca que tu voulais.
A bientot

jojo
 

louli78

XLDnaute Nouveau
Re : fonction randomize

Je suis en stage, et je fais des calculs de rentabilité. Du coup j'ai plein de paramètres que je vais devoir faire varier de façon complètement aléatoire pour ensuite obtenir un Taux de rentabilité interne propore a chaque sénario et ensuite réprésenter toute cette distribution de TRI en fonction des fréquences d'apparition (loi normale... blablabla). Tu as déja fais des choses comme ca?
 

Discussions similaires

Réponses
12
Affichages
252
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…