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

Excel Discussion :

Générateur de nombres entiers


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 140
    Points : 37
    Points
    37
    Par défaut Générateur de nombres entiers
    Bonjour le forum,

    Je cherche un à savoir s'il existe une fonction simple capable de générer aléatoirement des nombres entiers compris dans un intervalle de largeur connue L et centrée autour d'une valeur connue M ?

    à la limite je m'en fous si cette fonction produit des nombres décimaux: me suffira de lui appliquer un tronque(), mais faut absolument qu'elle produise au final TOUTES les valeurs entières possibles dans l'intervalle spécifié, et ceci quelque soit la valeur de L. La valeur M me servira juste à "positionner" la fonction dans un graphique.

    Si quelqu'un a une idée sous Excel (pas de VBA svp), serait cool

    Merci d'avance.

  2. #2
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    bonjour Masamunai,

    par exemple pour générer 20 nombres autour de 55,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub GénérerNombres()
    [A:A] = ""
    Dim a As Integer, b As Integer, nb As Integer
    nb = 20: a = 45: b = 65
    For i = 1 To nb
    Cells(i, 1) = Evaluate("int(rand()*(" & b & "-" & a & ")+" & a & ")")
        If i > 1 Then
            While Not IsError(Application.Match(Range("A" & i), Range(Cells(1, 1), Cells(i - 1, 1)), 0))
                Cells(i, 1) = Evaluate("int(rand()*(" & b & "-" & a & ")+" & a & ")")
             Wend
        End If
    Next
    End Sub
    isabelle

    Merci de m'aider à votre tour en indiquant si le problème est résolu.
    faite un clic sur le bouton en bas à gauche de la page.
    http://club.developpez.com/regles/#L4.12

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 140
    Points : 37
    Points
    37
    Par défaut
    Merci beaucoup.

    Si je comprends bien ton code, la formule excel est en fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =ENT(ALEA()*( (b-a) + a ) )
    avec valeur min=a et valeur max=b

    non?

    si oui, ben ca me parait bizarre parce qu'alors cela revient à écrire :

    =ENT(ALEA()*b)

    ...c'est à dire une largeur de 0 à b centrée sur b/2...

  4. #4
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    bonjour Masamunai,

    non, pas d'après ce qui est dit dans l'aide excel pour la fonction ALEA,

    Pour générer un nombre réel aléatoire compris entre a et b, utilisez :
    ALEA()*(b-a)+a

    Si vous voulez utiliser ALEA pour générer un nombre aléatoire qui ne change pas chaque fois que la cellule est recalculée, vous pouvez taper =ALEA() dans la barre de formule, puis appuyer sur F9 pour transformer la formule en nombre aléatoire.
    isabelle

    Merci de m'aider à votre tour en indiquant si le problème est résolu.
    faite un clic sur le bouton en bas à gauche de la page.
    http://club.developpez.com/regles/#L4.12

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 140
    Points : 37
    Points
    37
    Par défaut
    aaa ok compris, j'avais mal lu une parenthese en trop

    Merci bcp ^^

    En revanche, rien ne me dit dans l'aide que la distribution aléatoire produite par ce ALEA() là est bien "centrée" ?

    Au final je compte faire une somme ou un produit de 2 de ces fonctions (en forme de "cloche" (Gaussiennes), ce qui devrait me donner une distrib finale en forme de trapeze.

    La valeur min de la 1ere serait a, tandis que la valeur max de la 2e serait b, avec au final la moyenne du "trapeze" M lequel aura donc une largeur L=b-a.

    Une fois cela fait, je n'aurai plus qu'a extrapoler par rapport à mes données mesurées.

  6. #6
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut
    la formule excel est
    alea.entre.bornes(n1;n2)
    Celle ci n'est peut être pas disponible en Excel paramétrage standard il faudra peut être cocher des macros complémentaire comme pour ma part je tourne régulièrement avec plusieurs MC en permanence je je le rappelle plus les quelles sont par défaut

Discussions similaires

  1. Réponses: 8
    Dernier message: 05/07/2010, 19h59
  2. Réponses: 6
    Dernier message: 15/10/2009, 21h18
  3. Format des nombres entiers, séparateurs de milliers
    Par zazaraignée dans le forum Langage
    Réponses: 2
    Dernier message: 26/10/2005, 01h25
  4. Générateur de nombres pseudo-aléatoires
    Par gege2061 dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 25/08/2005, 13h38
  5. [LG]Former un nombre entier à partir de chiffre naturel.
    Par lecanardjaune dans le forum Langage
    Réponses: 2
    Dernier message: 12/11/2003, 22h36

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