Nombre mystère

Fermé
pointlimit0 Messages postés 21 Date d'inscription samedi 18 août 2007 Statut Membre Dernière intervention 14 avril 2014 - Modifié par pointlimit0 le 15/02/2013 à 22:58
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 - 16 févr. 2013 à 20:43
Bonjour,

J'ai voulu créer un jeu du nombre mystère sur excel,

voilà mon problème, j'arrive a générer un nombre aléatoire qui devra être retrouvé par encadrements successifs. sauf que à chaque fois que je saisis une proposition et que je tape sur entrée, mon nombre aléatoire change. Il est alors impossible de réussir le jeu.
Existe t-il une astuce pour que le nombre aléatoire reste le même durant toute la partie?

J'espère avoir été clair...

Merci d'avance pour vos réponses

Laurent

9 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
15 févr. 2013 à 23:12
Il faudrait voir ton code pour t'aider. Mais normalement tu mets ton nombre dans une variable, et si tu ne la modifies jamais alors elle gardera toujours la même valeur.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
Modifié par fiddy le 15/02/2013 à 23:13
Pourquoi parles-tu d'excel alors que tu postes ton programme dans le forum C ?
Est-ce de l'Excel (VBA) ou du C ?
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
15 févr. 2013 à 23:16
Bien vu ! J'avais effectivement zappé le fait que ce soit de l'Excel, j'avais surtout vu le C...
Mais la réponse devrait rester la même quelque soit le langage !
0
pointlimit0 Messages postés 21 Date d'inscription samedi 18 août 2007 Statut Membre Dernière intervention 14 avril 2014
16 févr. 2013 à 00:33
Bonsoir,

Autant pour moi, je viens de me rendre compte que je m'étais trompé de rubrique.
Je suis effectivement dans une feuille de calcul excel.
quand je saisis un nombre dans une cellule, automatiquement toutes les cellules de la feuille sont mises à jour. moi, ce que je voudrai, c'est que la cellule qui contient le nombre mystère obtenu aléatoirement ne soit pas modifiée.

Laurent
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
16 févr. 2013 à 12:12
Comme on t'a dit, il nous faut le code si tu veux qu'on t'aide...
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
16 févr. 2013 à 12:11
Bonjour,

Effectivement si ton nombre aleatoire provient d'une formule sur la feuille le recalcul se fait à chaque modificatin de la feuille

Tu peux obtenir un nombre aleatoire par une macro vba et le placer dans une cellulle, il ne variera plus

Ouvrir l'editeur Alt F11

Inserer un module et rentrer le code suivant

Sub tirage()
Dim nombre
Randomize ' Initialise le générateur de nombres aléatoires.
' Renvoie une valeur aléatoire comprise entre 1 et 100.
nombre= Int((100* Rnd) + 1)
'Place le nombre en cellule A1
cells(1,1).value=nombre
End Sub

Ensuite appeler la macro depuis l'Onglet developpeur Macros
ou inserer un bouton qui appelera la macro

Cdlmnt
0
pointlimit0 Messages postés 21 Date d'inscription samedi 18 août 2007 Statut Membre Dernière intervention 14 avril 2014
Modifié par pointlimit0 le 16/02/2013 à 13:52
Bonjour et merci de vos réponse,

Entre temps, j'ai tatoné un peu et comme je ne connais pas le langage VBA, il me semble avoir trouvé une solution plus simple:
Si je mets ma formule aléatoire dans une case sur la feuille numéro deux et que je clique sur "calcul manuel". ensuite je garde le calcul automatique dans la feuille numéro un. ne suffit-il pas de cliquer sur "calcul maintenant " de la feuille numéro 2 pour générer mon nombre? Ainsi quand je ferais des propositions sur la feuille numéro 1, le nombre de la feuille numéro 2 ne devrait pas changer, si?
je vous l'avoue, c'est un peu du système D
En ce qui concerne le code demandé, je ne sais pas de quoi il s'agit.
Je vous souhaite un bon WE
Laurent
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
16 févr. 2013 à 14:40
Si je mets ma formule aléatoire dans une case sur la feuille numéro deux
Bah quelle formule ? ALEA() ? Faut préciser...
Sinon tu as deux solutions, soit tu fais un bouton qui fait que ça recalcule tout uniquement lorsque tu cliques dessus, ou alors du code VBA.
0

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

Posez votre question
pointlimit0 Messages postés 21 Date d'inscription samedi 18 août 2007 Statut Membre Dernière intervention 14 avril 2014
Modifié par pointlimit0 le 16/02/2013 à 15:11
Bon ben j'ai vendu la peau de l'ours avant de l'avoir tuée:
si je change les paramètres du calcul sur une feuille çà change également sur l'autre feuille.
J'ai donc essayé d'ouvrir deux fenêtres distincte, mais alors celle ci n'ont plus aucun rapport entre elles.
En effet, j'ai mis sur une cellule de la première fenêtre
"=C:\Users\Utilisateur\Desktop\[Le nombre.xlsx]Feuil1'!$A$1"
la formule en question que je trouve dans la fenêtre 2
"ENT(ALEA()*(MAXIMUM-0)+0) ou MAXIMUM et le nombre choisi pour faire trouvé un nombre entre 0 et MAXIMUM.
La cellule maximum se trouve dans la première fenêtre.
Donc résumons: en choisissant 2 feuilles différentes, l'une n'est pas assez indépendante de l'autre et en choisissant 2 fenêtres différentes, l'une est trop indépendante de l'autre.
J'espère encore une fois avoir été clair. Je peux si vous êtes intéressés vous envoyer mon fichier contenant les deux feuilles.
Laurent
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
16 févr. 2013 à 15:15
Bonjour,

si tu ne veux pas utiliser le vba proposé par via55 tu peux faire ainsi :
Dans les options autoriser le calcul itératif.
En A2:
=SI(B2="";ENT(ALEA()*100+1);A2)
Si tu mets un X en B2 ton nombre aléatoire est bloqué.
Si tu le supprimes un nouveau est affiché, remettre le verrou.

https://www.cjoint.com/?CBqpol07cvY

eric
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
16 févr. 2013 à 15:44
Bonjour Eric

Super astuce ! je retiens la manip
J'ai testé et même sans activer calcul itératif cela affiche l'erreur d'avertissement de reference circulaire mais cela fonctionne quand même

Cordialement
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
16 févr. 2013 à 20:43
salut eric,

totalement d'accord avec via55, super astuce

bonne soirée
0
aziz_alg80 Messages postés 378 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 30 mars 2020 22
16 févr. 2013 à 15:40
Salut;

C'est avec la fonction ALEA() que tu génère tes nombres aléatoires?

Si c'est oui, c'est normal qu'à chaque ENTER ces nombres changent.

Si tu veux qu'ils changent pas, moi je te propose la solution suivante :

1° Sélectionner la cellule ( ou la plage de cellules) qui contient le(s) nombre(s) aléatoire(s).

2° Clique droit, Copier

3° Sur la (les) même cellule(s), Clique Droit / Collage Spécial / Coller : Valeurs / OK

4° Normalement les nombres ne changerons plus.

Abdelaziz
0
pointlimit0 Messages postés 21 Date d'inscription samedi 18 août 2007 Statut Membre Dernière intervention 14 avril 2014
Modifié par pointlimit0 le 16/02/2013 à 16:50
Merci beaucoup, çà marche...
J'avais un peu peur au début car j'avais oublié d'autoriser le calcul itératif.
Je vous joins le fichier
https://www.cjoint.com/?CBqqXlMkZiz
Vos remarques sont les biens venues
Laurent
0
aziz_alg80 Messages postés 378 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 30 mars 2020 22
16 févr. 2013 à 19:16
Excuse moi; mais j'ai pas bien compris le principe de ce jeu
0