Formule alétoire avec exclusion de nombres

Résolu/Fermé
Gweltaz38 Messages postés 4 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 17 octobre 2012 - 17 oct. 2012 à 15:41
Gweltaz38 Messages postés 4 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 17 octobre 2012 - 17 oct. 2012 à 18:03
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 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 17 octobre 2012 1
17 oct. 2012 à 16:58
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 10861 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 22 mai 2024 2 406
17 oct. 2012 à 16:27
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
www.postresult.com
0
ccm81 Messages postés 10861 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 22 mai 2024 2 406
17 oct. 2012 à 17:09
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
http://www.postresult.com
0
Gweltaz38 Messages postés 4 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 17 octobre 2012 1
17 oct. 2012 à 17:47
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 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 17 octobre 2012 1
17 oct. 2012 à 18:03
Génial!
Ça fonctionne!
Je vais m'entraîner en réutilisant cette macro sur d'autres feuilles!

Merci, merci, merci!
0