Bonjour,

Je cherche à générer 50 nombres aléatoires sur l'intervalle [-1;1[ et à les stocker dans un vecteur pour pouvoir par la suite utiliser plusieurs fois la procédure. La somme des nombres doit être égale à 1. Le problème est que sur 100 simulations environ, il m'arrive d'avoir des valeurs supérieures à 1000 ou 10000 et je ne vois pas du tout d'où cela pourrait venir.

Voici ce que j'ai écrit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Sub Génère_Portefeuille_Faisable()
Option Base 1
Dim Vecteur_Poids(50, 1) As Double
    For i = 1 To 50
        Vecteur_Poids(i, 1) = Rnd * 2 - 1 'Génère un nombre sur [-1;1[
    Next i
    Somme_Poids = WorksheetFunction.Sum(Vecteur_Poids)
    For i = 1 To 50
        Vecteur_Poids(i, 1) = Vecteur_Poids(i, 1) / Somme_Poids 'Normalise les poids pour que la somme soit égale à 1
    Next i
End Sub
Merci d'avance