Random excell

Fermé
anocheda Messages postés 54 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 17 novembre 2008 - 17 juil. 2008 à 20:00
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 17 juil. 2008 à 23:02
Bonjour,

Est ce qu'il y a une fonction sous excell qui permet de prendre une valeure au hazar dans un tableau?

Je veux qu'elle prenne un valeur dans ma selection A1:B10...

merci
A voir également:

4 réponses

eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
17 juil. 2008 à 20:51
Bonsoir,

Tu as la fonction alea() qui te retourne un nombre compris entre 0 et 1.
Le fait que tu sois sur 2 colonnes complique un peu la formule qui est :

=INDIRECT(CAR(64+ENT(ALEA()*2+1))&ENT(ALEA()*10+1))
Te retourne le contenu d'une cellule de A1:B10.
Faire F9 pour changer.

eric
0
anocheda Messages postés 54 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 17 novembre 2008 3
17 juil. 2008 à 21:00
Salut Eric ca marche tres bien merci
mais est ce qu'il y a moyen de l'avoir avec une macro , j'aimerai que ma valeur s'affiche quand j'appui sur un bouton et qu'elle reste fixe apres meme s'il y a des changements sur la feuille
0
anocheda Messages postés 54 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 17 novembre 2008 3
17 juil. 2008 à 22:06
re salut eric

il faudrait aussi qu'il n'y ai pas de repetition:
en gros je veux appliquer mon random a plusieurs cellules, et je veux que a chaque fois les valeurs soit différentes.

je veux faire un jeu de carte et du coup il peut pas y avoir deux fois la meme carte qui sort...

merci encore si tu as le temps
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
17 juil. 2008 à 22:19
si, bien sûr.
A copier dans le code de la feuille :
Sub AffAlea()
    Randomize
    [C1].Value = Cells(Int(Rnd() * 10 + 1), Int(Rnd() * 2 + 1)).Value
End Sub


Affiche en C1, à toi de modifier.

eric
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
17 juil. 2008 à 22:23
ce qui n'a plus rien à voir avec la demande initiale....
En plus un jeu de 2 fois 10 cartes je ne le sens pas, ça va évoluer...
Termine de réfléchir et quand tout sera prèt dans ta tete tu le dis, et tu poses une nouvelle question sinon je serais seul à lire.
Et par macro aucun interet que les valeurs soient sur la feuille non ?
eric
0
anocheda Messages postés 54 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 17 novembre 2008 3
17 juil. 2008 à 22:43
oui tu as raison ca va evoluer je voulais juste y aller petit a petit...
en gros je veux faire uns distribution de carte: donc plsusieurs joueurs avec plusieurs carte...
il faut juste que tu me dises comment faire pour empecher les doublons et apres je pourais me demerder

j y connait pas grand chose en VBA.. ce serait quoi le code pour verifier si la valeur est deja presente dans une liste et si oui la changer?

(du coup j 'ai 52 cartes: 4 colones et 13 ligne et ton truc marche tres bvien)
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
17 juil. 2008 à 23:02
Déjà ça sera plus facile avec une liste de 52 plutôt que 4 listes de 13.
Tu les permutes 2 à 2 en tirant au hasard plusieurs fois (on va dire 300 ou 500 fois).
Ton jeu est mélangé, tu les prends 1 par 1 dans l'ordre si elles doivent apparaitre au fur et à mesure, ou 13 par 13 pour chaque main de joueur.
eric
0