Comment figer le résulat de formules avec ALEA() ?

Staple1600

XLDnaute Barbatruc
Bonjour à tous


Ayant voulu pour une fois faire un classeur sans VBA , tout en formules

je me retrouve confronté à ce problème.


Comment arriver (sans VBA) à figer le résultat de formules utilisant ALEA()?

Voir la pièce jointe pour plus de détails.



Je profite de ce fil pour réinviter les formulistes du forum à m'aider à
réaliser une version par formule de "The 24 game"
(voir ce fil : 24 game )


Merci à tous
 

JNP

XLDnaute Barbatruc
Re : Comment figer le résulat de formules avec ALEA() ?

Bonjour Stapple1600, le forum :),
Toujours à la recherche d'un truc à faire frétiller les neurones... :D
Sur ce coup-là, j'ai l'impresion (mais je peux me tromper, Excel n'a jamais fini de me surprendre) que tu va te casser les dents...
Dans la logique, qui dit formule dit recalcul à chaque ouverture du fichier, donc pour figer un résultat sans passer par VBA, je n'arrive pas à intellectualiser... La seule solution possible de mon point de vue serait de bloquer le recalcul automatique, mais ce n'est pas le but à priori...
Bon courage en tout cas :cool:
 

ROGER2327

XLDnaute Barbatruc
Re : Comment figer le résulat de formules avec ALEA() ?

Bonjour à vous
Sur ce coup-là, j'ai l'impresion (mais je peux me tromper, Excel n'a jamais fini de me surprendre) que tu va te casser les dents...
Dans la logique, qui dit formule dit recalcul à chaque ouverture du fichier, donc pour figer un résultat sans passer par VBA, je n'arrive pas à intellectualiser... La seule solution possible de mon point de vue serait de bloquer le recalcul automatique, mais ce n'est pas le but à priori...
dit JNP.​
Effectivement, je ne vois guère d'autre réponse. En tout cas, voilà un problème intéressant...​
...et comme il dit : Bon courage en tout cas...
 

JNP

XLDnaute Barbatruc
Re : Comment figer le résulat de formules avec ALEA() ?

Re Stapple1600, Roger2327 :),
Une piste quand même... Si tu peux récupérer la date et l'heure de l'ouverture précédente du fichier, comme la fonction Alea est basée dessus, peut-être... Et il me semble que les fonction aléatoires peuvent être basée d'après un nombre, peut-on l'injecter dans la fonction?
Comme quoi il ne faut jamais dire jamais...
Bon courage :cool:
 

Staple1600

XLDnaute Barbatruc
Re : Comment figer le résulat de formules avec ALEA() ?

Bonjour JNP, Roger

A défaut de figer

Peut-être en utilisant la saisie d'un chiffre entre 1 et 404?
(et sans utiliser dans ce cas ALEA() )


12 formules nommées contenant 33 éléments
1 formule nommée contenant 8 éléments
(12*33+8=404)

Je n'ai pas réussi à créer une formule de ce genre

={1118;1126;...} contenant directement les 404 éléments

d'ou la scission en 13 formules nommées et l'emploi d'ALEA


Je voudrais à ne pas avoir à stocker les combinaisons dans la feuille.

De plus, il me reste à trouver par formules, les solutions du 24 game

Mais comme ce n'est pas le sujet de ce fil

Je retourne dans le fil dédié au 24 game.
 

abcd

XLDnaute Barbatruc
Re : Comment figer le résulat de formules avec ALEA() ?

Salut Staple et les autres,

Si j'ai compris, essaie ceci :

Menu Outils / Options / Calcul / cocher "Itérations".
A1 : =SI(CELLULE("adresse")=CELLULE("adresse";A1);ALEA();A1)
ALEA() peut être remplacé par n'importe quelle formule qui inclut cette fonction.

La valeur obtenue en A1 reste figée lors d'autres calculs.
Pour obtenir une nouvelle valeur en A1, activer A1 et valider.

Rendons à César ce qui lui appartient : JeanMarie m'a appris cette procédure.

abcd
 

Staple1600

XLDnaute Barbatruc
Re : Comment figer le résulat de formules avec ALEA() ?

Bonjour abcd


Comme je n'avais pas lu ta réponse

je livre une solution alternative (n'utilisant pas ALEA)


Et je vais tester de ce pas ta proposition.

abcd: je ne sais pas si tu t'es intéressé au fil The 24 game
si c'est le cas , crois tu possible d'utiliser une solution par formule
pour trouver les solutions d'un combinaison donnée pour arriver à 24?

(En VBA pas de souci)

Mais ça devrait être coton pour faire la même chose en formule.

Je t'invite donc ainsi que les formulistes du formum à me rejoindre dans cette quête (bien que cela ne soit que pour le fun)
 

Staple1600

XLDnaute Barbatruc
Re : Comment figer le résulat de formules avec ALEA() ?

Re


merci à abcd et JeanMarie par conséquent

Cela fonctionne.

Maintenant, j'espère que vous pourrez m'aider pour le reste.

Car je ne vois pas trop pour le moment de quelle façon trouver
par formule ce que VBA arrive à faire.

PS: voici la formule à saisir en B2 (dans cette pièce jointe Lien supprimé)
=SI(CELLULE("adresse")=CELLULE("adresse";B2);combijeu;B2)
 
Dernière édition:

abcd

XLDnaute Barbatruc
Re : Comment figer le résulat de formules avec ALEA() ?

Re,

Je n'ai pas suivi ce fil et je ne connais pas du tout ce jeu.
Cela ressemble à "des chiffres et des lettres".

Si, dans l'exemple, il faut employer tous les chiffres et qu'on ne peut les employer qu'une seule fois, je t'aurai proposé :
=(2-1)*3*8

Quant à résoudre cette question par formule, cela me semble fort difficile vu le nombre de combinaisons possibles, à vérifier les unes après les autres, et avec fort probablement aussi plusieurs solutions.

Je n'en vois pas l'utilité, puisque tu me dis que c'est simple par macro.

Si quelqu'un trouve la solution, je serais quand curieux d'en prendre connaissance.

abcd
 

Staple1600

XLDnaute Barbatruc
Re : Comment figer le résulat de formules avec ALEA() ?

Re

abcd:

La seule utilité c'est celle ci ;)

(bien que cela ne soit que pour le fun)
Maintenant que job75 et Roger m'ont aidé pour une version.


Je me suis donné comme challenge de faire une version 100% formules

Pour le moment

1) génération des combinaisons par formule OK
2) évalution de la solution du joueur OK
3) vérification de la validité mathématique de l'expression saisie (Pas OK)
(OK pour vérifier la présence des 4 chiffres)
3) affichage des différentes solutions par formules (Pas OK)

D'ou mon invitation.
 
Dernière édition:

abcd

XLDnaute Barbatruc
Re : Comment figer le résulat de formules avec ALEA() ?

Re,

C'est bien volontiers que je j'essaierai de vous aider pour des questions ponctuelles.

Peux-tu préciser ce que tu souhaites obtenir en B2 ?

D'après ce que j'ai constaté : une série de quatre chiffres, de 1 à 9 (le 0 étant exclu), classés par ordre croissant.
Est-ce bien cela ?

La série figée, pas de problème, par ordre croissant, plus difficile, mais est-ce que cela a de l'importance puisque cette ordre peut être respecté dans les cellules B4, A5, C5 et B6.

abcd
 

Staple1600

XLDnaute Barbatruc
Re : Comment figer le résulat de formules avec ALEA() ?

Re

abcd:
Comme tu l'as compris le but du jeu est obtenir 24
en utilisant 4 chiffres (choisis au hasard dans une liste de 404 nombres de 4 chiffres) en utilisant les opérateurs mathématiques de base + - * / et ( ).

Pour tout ce qui est du choix de la combinaison, pas de problème.
(voir les pieces jointes dans ce fil
que ce soit avec ta solution pour ALEA avec la solution alternative)

Je cherche maintenant la chose suivante.

En cliquant sur une case à cocher, s'affiche la liste des solutions, si au préalable la solution
donnée par le joueur est égale à 24.

Exemple pour la combinaison: 1227
Voici les solutions possibles
24=(2+2)*(7-1)
24=2*2*(7-1)
24= (7-1)*(2+2)
24=(7-1)*2*2

On n'est pas obligé de respecter l'ordre des chiffres.

Donc j'aimerais pouvoir trouver les solutions par formules
 
Dernière édition:

abcd

XLDnaute Barbatruc
Re : Comment figer le résulat de formules avec ALEA() ?

Re,

Je commence petit à petit à comprendre, je ne suis pas un rapide !

Vois la pièce jointe.

La formule en B2 fige la valeur, activer cette cellule et valider la modifie.
J'écris mon expression en E5.
La formule en E6, une macro XL4, ne se met pas à jour automatiquement, il faut activer cette cellule et la valider.
Je lui préfère la fonction EVAL de MorenfunC, elle est automatique.
Je me suis permis de raccourcir quelque peu la formule en F6.

Maintenant, il faut une formule qui dit : =SI(F6="solution valide";afficher toutes les solutions";"")
Mais où trouve-t-on toutes les solutions ?

abcd
 

Pièces jointes

  • figerALEA V1.zip
    7.6 KB · Affichages: 194

Staple1600

XLDnaute Barbatruc
Re : Comment figer le résulat de formules avec ALEA() ?

Re


justement le challenge est là

Car en VBA pas de souci
(Voir ce fichier de Job75:Lien supprimé )

Utiliser des formules pour trouver les solutions possibles


abcd:

Avec la macro XL4 =calcul --> =EVALUER(E5)

Il suffit de valider l'expression à calculer en E5

et le changement se fait bien non?
 
Dernière édition:

abcd

XLDnaute Barbatruc
Re : Comment figer le résulat de formules avec ALEA() ?

Bonjour,

Tu as raison, la macro XL4 se met à jour dès la validation de E5 !

Il me semble que chercher une formule permettant de lister toutes les solutions possibles est peine perdue.

Mais je verrai bien le fichier organisé d'une manière différente.
Lister sous une colonne (au lieu de les nommer) les 404 nombres possibles.
En B2 choisir aléatoirement une de ces valeurs par les fontions INDIRECT et ALEA.ENTRE.BORNES et la figer.
A la droite des 404 nombres aligner sur plusieurs colonnes les diverses solutions, à récupérer, à défaut de mieux, par la macro et à copier/collage spécial valeur.

Dès lors, lorsque F6 affiche "solution valide" récupérer les diverses solutions par formule.

Qu'en penses-tu ?

abcd
 

Discussions similaires

Statistiques des forums

Discussions
312 207
Messages
2 086 246
Membres
103 163
dernier inscrit
Pelaez