ALEA.ENTRE.BORNES
Résolu
BABAR07
-
BABAR07 -
BABAR07 -
Bonjour,
je suis toujours coincer sur un jeu de master mind que j'ai crée.
en A1,B1,C1,D1,E1, dans toutes ces cellules j'ai entré la formule suivante
=ALEA.ENTRE.BORNES(1;10) cela fonctionne trés bien mais j'ai des doublons et quand je rentre un chiffre en A6 (EXP), cela me change tous les autres chiffres en A1 , etc, y aurait'il une grosse tête plus que la mienne, qui puisse me donner la solution pour que ce problème ne se fasse pas
Soit une macro ou une formule
je possède excel 2007
je remercie d'avance toutes les personnes qui arriveront à résoudre ce prob
je suis toujours coincer sur un jeu de master mind que j'ai crée.
en A1,B1,C1,D1,E1, dans toutes ces cellules j'ai entré la formule suivante
=ALEA.ENTRE.BORNES(1;10) cela fonctionne trés bien mais j'ai des doublons et quand je rentre un chiffre en A6 (EXP), cela me change tous les autres chiffres en A1 , etc, y aurait'il une grosse tête plus que la mienne, qui puisse me donner la solution pour que ce problème ne se fasse pas
Soit une macro ou une formule
je possède excel 2007
je remercie d'avance toutes les personnes qui arriveront à résoudre ce prob
7 réponses
Cela ne changera pas grand-chose : au cours de la partie, chaque fois que l'utilisateur du jeu va cliquer sur [Enter] les valeurs aléatoires vont changer ...
BABAR07
merci beaucoup de m'avoir répondu, mais cela ne me résoud pas mon problème
Une solution (parmi d'autres) :
Si tu utilises les colonnes A à H pour ton programme, on peut réserver les cellules K1 à O1 pour y mettre tes formules aléatoires, et en P1 placer la formule de test =SI(ET(K1<>L1;K1<>M1;K1<>N1;K1<>O1; L1<>M1;L1<>N1;L1<>O1; M1<>N1;M1<>O1; N1<>O1);"OK";"à refaire")
Tu relances ta séquence jusqu'à ce que "à refaire" soit remplacé par "OK" ;
tu sélectionnes K1:O1 ; tu fais Copier ;
tu vas en A1 et tu fais Collage spécial/ Valeurs.
Si tu utilises les colonnes A à H pour ton programme, on peut réserver les cellules K1 à O1 pour y mettre tes formules aléatoires, et en P1 placer la formule de test =SI(ET(K1<>L1;K1<>M1;K1<>N1;K1<>O1; L1<>M1;L1<>N1;L1<>O1; M1<>N1;M1<>O1; N1<>O1);"OK";"à refaire")
Tu relances ta séquence jusqu'à ce que "à refaire" soit remplacé par "OK" ;
tu sélectionnes K1:O1 ; tu fais Copier ;
tu vas en A1 et tu fais Collage spécial/ Valeurs.
https://www.cjoint.com/?jqsbcHrEfJ
Bonjour, je me permets de te faire parvenir mon fichieressai pour mon master minds
amicalement, bonne réception
Bonjour, je me permets de te faire parvenir mon fichieressai pour mon master minds
amicalement, bonne réception
désolé pour ta soluc mais celle-ci ne réponds pas à ma question, mais je la conserve sous le coude pour une autre application.
MERCI DE VOTRE GENTILLESSE ET VOTRE CELERITE A ME REPONDRE
MERCI DE VOTRE GENTILLESSE ET VOTRE CELERITE A ME REPONDRE
Bonjour tous
un premier jet pour résoudre le problème de figer les données en ligne A1:E1
je réfléchi maintenant au moyen d'éviter les doublons
(une toute petite modification sur la macro)
http://www.cijoint.fr/cjlink.php?file=cj201009/cijsMYPUoG.xlsm
a+
crdlmnt
un premier jet pour résoudre le problème de figer les données en ligne A1:E1
je réfléchi maintenant au moyen d'éviter les doublons
(une toute petite modification sur la macro)
http://www.cijoint.fr/cjlink.php?file=cj201009/cijsMYPUoG.xlsm
a+
crdlmnt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour tout le monde,
Si tu veux rester par formule tu peux autoriser les références circulaires en allants dans 'outils / options...' onglet 'calcul' et cocher 'itération'.
Par défaut le nombre max =100, tu peux l'augmenter.
En A1 remplace ta formule par :
=SI($G$1="x";ALEA.ENTRE.BORNES(1;10);A1)
idem en B1:E1
Si rien dans G1 : tes nombres restent inchangés.
Si G1="x" : tes nombres sont générés à nouveau à chaque recalcul.
Restera le pb doublons à régler encore... et le fait que cocher itération est valable pour tout excel et non pour le classeur, ce qui oblige à le remettre correct après.
Comme j'ai vu que tu avais commencé les macros autant le faire entièrement par macro avec :
J'ai été interrompu et je viens de voir la proposition de vaucluse, comme ce sont 2 autres propositions je poste quand même.
Sur le fichier A1:C1 sont figés tant qu'il n'y a pas "x" en G1, on va dire que c'est plus à titre d'exemple.
Pour la proposition par macro : cliquer sur nouveaux (résultat en ligne 18)
fichier
eric
Si tu veux rester par formule tu peux autoriser les références circulaires en allants dans 'outils / options...' onglet 'calcul' et cocher 'itération'.
Par défaut le nombre max =100, tu peux l'augmenter.
En A1 remplace ta formule par :
=SI($G$1="x";ALEA.ENTRE.BORNES(1;10);A1)
idem en B1:E1
Si rien dans G1 : tes nombres restent inchangés.
Si G1="x" : tes nombres sont générés à nouveau à chaque recalcul.
Restera le pb doublons à régler encore... et le fait que cocher itération est valable pour tout excel et non pour le classeur, ce qui oblige à le remettre correct après.
Comme j'ai vu que tu avais commencé les macros autant le faire entièrement par macro avec :
Sub nouveaux()
Dim dict, n As Long
Set dict = CreateObject("Scripting.Dictionary")
Randomize
While dict.Count < 5
n = Int(10 * Rnd + 1)
If Not dict.Exists(n) Then dict.Add n, 1
Wend
Range("A18:E18") = dict.keys
End Sub
J'ai été interrompu et je viens de voir la proposition de vaucluse, comme ce sont 2 autres propositions je poste quand même.
Sur le fichier A1:C1 sont figés tant qu'il n'y a pas "x" en G1, on va dire que c'est plus à titre d'exemple.
Pour la proposition par macro : cliquer sur nouveaux (résultat en ligne 18)
fichier
eric
Bonjour
et là, non plus ?
https://forums.commentcamarche.net/forum/affich-19192872-alea-entre-bornes#7
Crdlmnt
et là, non plus ?
https://forums.commentcamarche.net/forum/affich-19192872-alea-entre-bornes#7
Crdlmnt
Bonjour,
En utilisant une macro pour copier et fichier une plage comme indiqué ci-dessous et y ajouter une formule pour éviter les doublons, vous pouvez utiliser ce fichier : http://www.cijoint.fr/cjlink.php?file=cj201009/cijCsIan2W.xlsm
Cordialement
CathyAstuce : https://www.excel-exercice.com/
En utilisant une macro pour copier et fichier une plage comme indiqué ci-dessous et y ajouter une formule pour éviter les doublons, vous pouvez utiliser ce fichier : http://www.cijoint.fr/cjlink.php?file=cj201009/cijCsIan2W.xlsm
Cordialement
CathyAstuce : https://www.excel-exercice.com/