ALEA.ENTRE.BORNES

Résolu/Fermé
BABAR07 - 15 sept. 2010 à 17:21
 BABAR07 - 24 sept. 2010 à 15:46
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

7 réponses

Raymond PENTIER Messages postés 58396 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 094
15 sept. 2010 à 17:42
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 ...
0
merci beaucoup de m'avoir répondu, mais cela ne me résoud pas mon problème
0
Raymond PENTIER Messages postés 58396 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 094
15 sept. 2010 à 17:59
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.
0
Raymond PENTIER Messages postés 58396 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 094
15 sept. 2010 à 18:12
0
https://www.cjoint.com/?jqsbcHrEfJ
Bonjour, je me permets de te faire parvenir mon fichieressai pour mon master minds
amicalement, bonne réception
0
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
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
16 sept. 2010 à 19:17
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
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
16 sept. 2010 à 19:42
et pour suivre un second fichier qui, sans permettre de supprimer le risque de doublon, devrait permettre de le réduire à un taux largement négligeable.
http://www.cijoint.fr/cjlink.php?file=cj201009/cijpJ4XIUO.xlsm
revenez si besoin d'info complémentaires.
bon courage
crdlmnt
0
bonjour, merci pour vos réponses, je vais essayer de les faire et on verras bien
merci beaucoup
0

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

Posez votre question
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 16/09/2010 à 20:43
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 :
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
0
merci a toi de m'envoyer cette macro, mais elle n'a pas résolu mon problème.
je vais encore essayer de mon coté
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
22 sept. 2010 à 16:57
0
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/
0
Je te remercie pour ta macro qui m'a été d'une grande aide

et à toutes les personnes qui m'ont si gentiment répondues
0