Création d'une fonction en vba

audreyb59 -  
nicodoudou Messages postés 48 Statut Membre -
Bonjour,

On me demande d'écrire en VBA une fonction aleaEntre0etN qui, étant donné un entier positif , renvoie un entier entre zéro et l'entier donné.
Pouvez vous m'aider?
Un coup de pouce suffirait.

Merci d'avance.
Configuration: Windows Vista
Internet Explorer 7.0

3 réponses

  1. nicodoudou Messages postés 48 Statut Membre 44
     
    Bonjour
    La seule solution que je vois est de créer sous Excel un cellule avec =ALEA() dans la cellule (A1)

    Dans ton VBA tu fais

    chiffrsaisi = Inputbox("Saisir votre chiffre", vbokonly, "1")
    Calculate
    'Modification de la valeur ALEA
    val= range("a1")
    valchois = int (val * chiffresaisi)

    Et ta variable valchois est un chiffre aléatoire entre 0 et chiffrsaisi

    Dispo si besoin

    Nico
    0
  2. le père
     
    Bonsoir,

    Tu n'as pas besoin de mettre une formule =ALEA() dans la cellule A1. VBA a une fonction Rnd qui fait la même chose

    Dans ton VBA tu fais

    chiffrsaisi = Inputbox("Saisir votre chiffre", vbokonly, "1")
    valchois = int (Rnd * (chiffresaisi+1)) ' +1 pour avoir résultat de 0 à chiffresaisi inclus

    Et ta variable valchois est un chiffre aléatoire entre 0 et chiffrsaisi
    Dispo si besoin , par exemple :
    msgbox "'Résultat : " & valchois
    0
  3. nicodoudou Messages postés 48 Statut Membre 44
     
    Désolé Le Pere

    J'avais oublié la fonction Rnd qui est en effet meilleure

    A+

    Nico
    0