IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

une fonction , probabilités


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Par défaut une fonction , probabilités
    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

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Par défaut
    BONSOIR,

    elle attends quoi ta premiere fonction !!!!
    utilise des msgbox ou des debug.print pour voir l evolution de tes procedures
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Function alea(ByVal x As Long) As Long

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Par défaut
    non je dois pas utiliser de choses en rapport avec des procédures , ma fonction marche et c'est sur la seconde que j'ai un probleme...

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    hum, vu que tu as mis ton autre post en delestage, je te fais un copier coller de ma derniere réponse
    de plus

    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function proba(ByVal n As Variant) As Variant
    'Renvoie un nombre aléatoire entre 0 et n avec une probabilité de 0,7
    If n >= 0 And n <= 1 And Rnd(n) < 0.7 Then
    le seul chiffre que tu teste ici c'est Rnd(n) donc je résume
    tu as le chiffre n
    toto te donne un aléatoire entre 0 et n
    mais ta fonction proba ne prend en compte que le chiffre n
    et le chiffre que tu teste est un aléatoire issu de ce chifre n
    je vois pas l'interet de ta manip
    ce qu'il faut c'est que
    toto renvoie un chiffre aléatoire n compris entre 0 et 1 (peut etre même que tu serais avisé de travailler avec des entiers. entre 0 et 10 par exemple)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Function proba(ByVal n As Variant) As Variant
    'Renvoie un nombre aléatoire entre 0 et 10 avec une probabilité de 7/10
    If n <=7 Then x = "hello"
    Else x = "salut"
    End If
    proba = xEnd Function
    ce qui pourrait ensuite devenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Function proba(ByVal n As Variant) As Variant
    If n <=7 Then x = "hello" Else x = "salut"proba = xEnd Function
     
    et donc ensuite
    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Function proba(ByVal n As Variant) As Variant
    proba = IIf(n <= 7, "hello", "salut")
    End Function

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Par défaut
    alsimbad merci de m'avoir répondu mais tu n'as probablement pas lu mon 1er message , la fonction alea ( la 1ere qui marche ) doit bien renvoyer un nombre entre 0 et n et non entre 0 et 1 c'est la consigne de l'exercice .

    c'est pgz qui m'a mis sur la voix avec la fonction rnd , faut qu'on l'attende car si tt le monde répond ça sera illisible et je vais tt mélanger...

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. calcul d'une fonction de probabilité dans un algorithme de colonie de fourmis!
    Par etdmi3 dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 19/02/2009, 11h21
  2. Comment chronométrer une fonction
    Par 323 dans le forum Pascal
    Réponses: 3
    Dernier message: 19/03/2003, 20h24
  3. [VBA-E] avec une fonction value
    Par laas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/11/2002, 13h22
  4. [Turbo Pascal] Allocation et désallocation de pointeurs dans une fonction
    Par neird dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 17/11/2002, 20h14
  5. Une fonction avec des attributs non obligatoires
    Par YanK dans le forum Langage
    Réponses: 5
    Dernier message: 15/11/2002, 13h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo