Création d'une fonction en vba

Fermé
audreyb59 - 3 déc. 2007 à 18:39
nicodoudou Messages postés 48 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 20 mars 2008 - 8 déc. 2007 à 23:03
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.
A voir également:

3 réponses

nicodoudou Messages postés 48 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 20 mars 2008 44
7 déc. 2007 à 23:48
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
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
nicodoudou Messages postés 48 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 20 mars 2008 44
8 déc. 2007 à 23:03
Désolé Le Pere

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


A+


Nico
0