Macro tirage aléatoire vba

Fermé
nanyy1990 Messages postés 2 Date d'inscription jeudi 21 juin 2012 Statut Membre Dernière intervention 21 juin 2012 - 21 juin 2012 à 12:01
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 - 21 juin 2012 à 14:20
Bonjour tout le monde,

merci d'avance pour votre aide.
en fait j'ai un travail en vba et je sais pas du tout comment my prendre .
j'ai a peu prés 6 variables chacune dans un intervalle donné.[borne min, borne max]
le but est d'effectuer N Tirages aléatoires de toutes ces variables en meme temps, et d'ensuite stocker les résultats de chaque scénario (tirage) dans une fiche de calcul
Illustration


scénario 1 2 3 4 ...............N
Hypothèse du scénarios ( entrée choisies pour chacune des 6 variables d'entrée)
variable sortie 1

variable sortie n

donc mon probléme c'est justement la macro de tirage aléatoire simultané

merci

A voir également:

3 réponses

Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
21 juin 2012 à 14:20
bonjour nanyy1990, Pijaku
je "pense" avoir compris la demande...mais
je confirme c'est pas clair... ou bien l'utilisation de certains termes
ne sont pas appropriés....

j'ai a peu prés 6 variables chacune dans un intervalle donné.[borne min, borne max]

Là c'est confus! parce que "a peu près " signifie que tu as du mal a compter....
je suppose que tu veux dire que tu as 6 variables .
chacune dans un tervalle donné.... donc il y aurait 6 bornes mini et 6 bornes max.

moi pour faire simple j'ai fais 1 à 10 et 11 à 20.....

le but est d'effectuer N Tirages aléatoires de toutes ces variables en meme temps
en même temps.... Euh si tu m'accordes 1 p'tite seconde disons un 0.01s ça devrait le faire non?

C'est une proposition qui peut faire hurler certains puriste et je m'en excuse.



Sub Test1()



Dim Valeur1
Dim Valeur2
Dim Valeur3
Dim Valeur4
Dim Valeur5
Dim Valeur6
Dim i As Integer


Dim borneMax1
Dim borneMin1
Dim borneMax2
Dim borneMin2
Dim borneMax3
Dim borneMin3
Dim borneMax4
Dim borneMin4
Dim borneMax5
Dim borneMin5
Dim borneMax6
Dim borneMin6


Randomize    ' Initialise le générateur de nombres aléatoires.

 borneMax1 = 10
 borneMin1 = 1
 borneMax2 = 20
 borneMin2 = 11
 borneMax3 = 30
 borneMin3 = 21
 borneMax4 = 40
 borneMin4 = 31
 borneMax5 = 50
 borneMin5 = 41
 borneMax6 = 60
 borneMin6 = 51


' Renvoie une valeur aléatoire comprise entre borneMin et
' borneMax c'est dire ici 1 et 10 inclus.
' int renvoie un entier
Sheets("Feuil1").Select
For i = 1 To 10 ' on fait 10 tirage
    Valeur1 = Int((borneMax1 * Rnd) + borneMin1)
    Valeur2 = Int((borneMax2 * Rnd) + borneMin2)
    Valeur3 = Int((borneMax3 * Rnd) + borneMin3)
    Valeur4 = Int((borneMax4 * Rnd) + borneMin4)
    Valeur5 = Int((borneMax5 * Rnd) + borneMin5)
    Valeur6 = Int((borneMax6 * Rnd) + borneMin6)
    ' on écrit
    Cells(i, 1).Value = Valeur1
    Cells(i, 2).Value = Valeur2
    Cells(i, 3).Value = Valeur3
    Cells(i, 4).Value = Valeur4
    Cells(i, 5).Value = Valeur5
    Cells(i, 6).Value = Valeur6

Next

End Sub
1
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
21 juin 2012 à 13:21
Bonjour,
Lapon compris.
Lapin con pris...
Je n'ai rien capté à ta question, merci de reformuler.

Sinon, voir du côté de Randomize...
0
nanyy1990 Messages postés 2 Date d'inscription jeudi 21 juin 2012 Statut Membre Dernière intervention 21 juin 2012
21 juin 2012 à 14:06
j'avoue j'ai pas été claire , je reformule avec un exemple simple :

on dispose d'une fiche de calcul qu'on appelle INPUT et qui contient les variables A B C avec A B déterministes et C aléatoire mais dans l'intervalle [-5,5%]

Variables Valeurs
A 100
B 5%
C [+5%;-5%]

1- la macro VB va devoir lire la fiche de calcul excel et écrire dedans les variables retenues pour le tirage i. A et B étant deterministes elle ne fera que recopier
pour C Il faut choisir aléatoirement

Variables Valeurs
A 100
B 5%
C -2%

2- un moteur de calcul (feuille excel CALCUL )effectue des calculs intermédiaires (je ne crois pas que la vb intervient ici)
3- La macro vb recopie pour chaque scénario (tirage) les valeurs des entrées A B et C et les valeurs des variables de sorties dans une 3éme fiche (OUTPUT)

Scenario A B C sortie1 sortie2 1
2
3
4
5
6
7
0