ALEA.ENTRE.BORNES
Résolu/Fermé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
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 ...
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
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.
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.
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
15 sept. 2010 à 18:12
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
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
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
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
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
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
http://www.cijoint.fr/cjlink.php?file=cj201009/cijpJ4XIUO.xlsm
revenez si besoin d'info complémentaires.
bon courage
crdlmnt
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
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 :
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
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
22 sept. 2010 à 16:57
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/
22 sept. 2010 à 16:37