Bonsoir , j'ai écrit une fonction qui renvoit de manière aléatoire un nombre entre 0 et n , cette fonction marche , voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Function alea(ByVal x As Long) As Long
Dim cou As Long, n As Long
n = x
    cou = Int((n * Rnd) + 1)
    alea = cou
End Function
maintenant je dois écrire une fonction qui étant donné un entier positif , renvoie avec une probabilité de 0,7 un entier compris entre 0 et l'entier donné , voici le code que j'ai écrit mais qui ne marche pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Function Alea1(ByVal x As Variant) As Variant
If x >= 0 And x <= 1 And Rnd(x) < 0.9 Then
    x = alea
Else
    x = "salut"
End If
Alea1 = x
End Function
Pourquoi cette fonction ne me renvoit pas un nombre entre 0 et l'entier donné avec une probabilité de 0,9 ?

merci