Excell permutation
anocheda
Messages postés
55
Statut
Membre
-
anocheda Messages postés 55 Statut Membre -
anocheda Messages postés 55 Statut Membre -
Bonjour,
Je cherche a melanger un jeu de carte sous excell
j'ai mon jeu sur la colonne 2 et sur les 52 premiere ligne
apres je permute mes carte 2 par 2 500 fois pour trier
j'ai le code suivant:
For i = 1 To 500
a = Round(51 * Rnd)
b = Cells(a, 2)
Cells(a, 2) = Cells(a + 1, 2)
Cells(a + 1, 2) = b
ca marche un petit moment et apres ca me met un message d'erreur 1004
je comprend pas pourquoi, ca me parait pourtant simple... merci pour votre reponse
Antoine
Je cherche a melanger un jeu de carte sous excell
j'ai mon jeu sur la colonne 2 et sur les 52 premiere ligne
apres je permute mes carte 2 par 2 500 fois pour trier
j'ai le code suivant:
For i = 1 To 500
a = Round(51 * Rnd)
b = Cells(a, 2)
Cells(a, 2) = Cells(a + 1, 2)
Cells(a + 1, 2) = b
ca marche un petit moment et apres ca me met un message d'erreur 1004
je comprend pas pourquoi, ca me parait pourtant simple... merci pour votre reponse
Antoine
A voir également:
- Excell permutation
- Liste déroulante excell - Guide
- Excell viewer - Télécharger - Tableur
- Excell 2013 - Télécharger - Tableur
- Moyenne excell - Guide
- Formules excell - Guide
2 réponses
Bonjour,
si tu veux un nombre de 1 à 52 il faut mettre
a = ent(rnd()*52)+1
rnd() peut très bien renvoyer 0 comme valeur.
eric
si tu veux un nombre de 1 à 52 il faut mettre
a = ent(rnd()*52)+1
rnd() peut très bien renvoyer 0 comme valeur.
eric
Bonjour les gars et bravo, belle bataille!!!
mon probleme était resolu depuis la premiere reponsse (ajouter un +1 a mon code) et ca marche super
sur ce, pour soutenir un peu lermite, il faut que je m'arrete a 51!!!!
bien que int(52) ne se produira jamais et que "a" sera donc toujours inferieur ou egal a 52, je fais dans mon code une permutation de deux valeurs deux a deux
je remplace la lcarte de la igne "a" par celle de la ligne "a+1"...
du coup si je met 52, a un moment il va me replacer ma derniere carte par la ligne 53 et je vais avoir pas mal de trou...
mais bon..
Mercia vous deux
Sinon vous avez pas une réponse a m'on autre question :
J'ai plusieurs Textbox et je souhaite les modifier toutes d'un cou pavec un For:
mais etxtboxe s'appellent TexBox1, TextBox2...TexBox52
et je veux faire
For i = 1 to 52,
Me.TextBox i .Value=....
Next i
forcement ca marche pas, il reconnait pas TextBox i mais je sais pas comment faire
j'ai vu qu on pouvait utiliser une "Frame" mais je sais aps ce que c'est
si vous avez une idée merci
Antoine
mon probleme était resolu depuis la premiere reponsse (ajouter un +1 a mon code) et ca marche super
sur ce, pour soutenir un peu lermite, il faut que je m'arrete a 51!!!!
bien que int(52) ne se produira jamais et que "a" sera donc toujours inferieur ou egal a 52, je fais dans mon code une permutation de deux valeurs deux a deux
je remplace la lcarte de la igne "a" par celle de la ligne "a+1"...
du coup si je met 52, a un moment il va me replacer ma derniere carte par la ligne 53 et je vais avoir pas mal de trou...
mais bon..
Mercia vous deux
Sinon vous avez pas une réponse a m'on autre question :
J'ai plusieurs Textbox et je souhaite les modifier toutes d'un cou pavec un For:
mais etxtboxe s'appellent TexBox1, TextBox2...TexBox52
et je veux faire
For i = 1 to 52,
Me.TextBox i .Value=....
Next i
forcement ca marche pas, il reconnait pas TextBox i mais je sais pas comment faire
j'ai vu qu on pouvait utiliser une "Frame" mais je sais aps ce que c'est
si vous avez une idée merci
Antoine
A+
j'ai utilisé ent()
C'est avec 2007 ?
Donc a = int(rnd()*52)+1