Nombre mystère

pointlimit0 Messages postés 26 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -
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

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    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
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      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
    2. KX Messages postés 19031 Statut Modérateur 3 020
       
      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
  2. pointlimit0 Messages postés 26 Statut Membre
     
    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
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Comme on t'a dit, il nous faut le code si tu veux qu'on t'aide...
      0
  3. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
  4. pointlimit0 Messages postés 26 Statut Membre
     
    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
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. pointlimit0 Messages postés 26 Statut Membre
     
    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
  7. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      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
    2. ccm81 Messages postés 11033 Statut Membre 2 434
       
      salut eric,

      totalement d'accord avec via55, super astuce

      bonne soirée
      0
  8. aziz_alg80 Messages postés 427 Statut Membre 22
     
    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
  9. pointlimit0 Messages postés 26 Statut Membre
     
    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
  10. aziz_alg80 Messages postés 427 Statut Membre 22
     
    Excuse moi; mais j'ai pas bien compris le principe de ce jeu
    0