Formule alétoire avec exclusion de nombres

Résolu
Gweltaz38 Messages postés 4 Statut Membre -  
Gweltaz38 Messages postés 4 Statut Membre -
Bonjour,

J'ai ma formule pour avoir un nombre aléatoire entre deux bornes. Ici, 11 et 59.
La voici : ALEA.ENTRE.BORNES(11;59)

Tout fonctionne.
Seulement, je souhaiterais pourvoir ne pas avoir 20, 30, 40 et 50 qui soient choisis.
Est-ce possible?

D'avance, merci.

Gweltaz

5 réponses

Gweltaz38 Messages postés 4 Statut Membre 1
 
A ccm81
Un grand merci pour ta réponse rapide et l'intérêt porté à ma question.

J'avoue que je reste bouche bée devant ta réponse car... je n'y comprends rien! Enfin, si, j'ai compris qu'il fallait passer par une macro mais je suis bien incapable de le faire dans le sens où je n'y connais rien!

Ma formation d'instituteur ne me suffit pas... Je vais faire F9 jusqu'à ce que j'aie une feuille correcte!


Mais encore merci!

Gweltaz
1
ccm81 Messages postés 11033 Statut Membre 2 433
 
bonjour

sans macro, je ne vois pas

avec macro, une fonction a copier dans Module 1
Alt-F11 pour accéder à vba, puis Insertion/module
s'utilise ensuite come une fonction exel
A1=aleabb()

Public Function aleabb()
Dim k As Long
Application.Volatile
Do
  k = 11 + Int(49 * Rnd)
Loop Until k Mod 10 <> 0
aleabb = k
End Function

bonne suite
0
results
 
www.postresult.com
0
ccm81 Messages postés 11033 Statut Membre 2 433
 
re

tu ne devrais pas te laisser impressionner,
quelques explications sur la fonction aleabb créée

Public Function aleabb()
Dim k As Long
Application.Volatile
Do
  k = 11 + Int(49 * Rnd)
Loop Until k Mod 10 <> 0
aleabb = k
End Function


dim k as long, déclare la variable k comme un entier
rnd produit un réel de 0 compris à 1 non compris (ALEA() de la feuille)
49*rnd prodiuit un réel de 0 compris à 49 non compris
int est la fonction partie entière (ENT de la feuille)
donc int(49*rnd) produit un entier de 0 à 48 compris(s)
et en ajoutant 11 on obtient un entier de 11 à 49 compris(s)

k mod 10 donne le reste de la division entière de k par 10 (MOD de la feuille)

do .... loop until, recommence le calcul de k jusqu'à ce que k ne se termine pas par 0

Pour ce qui est de l'implantation et du fonctionnement c'est décrit au post #1

bonne suite
0
postresult
 
http://www.postresult.com
0
Gweltaz38 Messages postés 4 Statut Membre 1
 
Merci pour tes explications! Avec la traduction, je me sens moins nul!
Je vais tenter le truc!

Encore merci!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gweltaz38 Messages postés 4 Statut Membre 1
 
Génial!
Ça fonctionne!
Je vais m'entraîner en réutilisant cette macro sur d'autres feuilles!

Merci, merci, merci!
0