Bouton pour incrémenter un numéro aléatoire

Bonjour

j'ai essayé plusieurs post déjà mit sur le site mais rien à faire.

Voilà je voudrais s'il vous plaît créer un bouton qui à chaque appuis me donne un numéro au hasard entre 1 et 99

Ca c'est la première question... ensuite j'ai un bouton qui m'incrémente plus un à chaque appuis, puis additionner les deux c'est à dire quand j'appuie sur le bouton par exemple en A1 il m'incrémente un numéro +1 à chaque fois et en appuyant sur le même bouton il me choisis un nombre aléatoire entre 1 et 99 en C5

merci

Bonjour tontonzunny,

à tester

cordialement

357test.xlsm (16.31 Ko)

saloute

ednoork

c'est bien ça...

mais pas tout à fait se que je recherche je pense me suis mal exprimé.

l'addition des deux n'est pas nécessaire

je veux deux nuémro distinct

je vais essayer

merci

par contre je suis incapable de le mettre en place tu peux m'expliquer s'il te plait

Alors quelques explications,

pour le nombre aléatoire c'est cette formule :

nb_alea = Int(Rnd * 99) + 1

Int permet d'avoir un nombre entier

Rnd va générer un nombre aléatoire à partir de 0 jusqu'à la valeur que tu va lui mettre (ici 99)

le +1 permet donc de générer un nombre aléatoire de 1 à 100

pour l'incrémentation de 1 c'est à partir de là :

Range("A1").Value = Range("A1").Value + 1

ici on va partir de 0 (cellule vide) et chaque fois qu'on clique sur le bouton il va augmenter de 1

le clic sur le bouton incrémente de 1 la cellule A1 et génère un nombre aléatoire en même temps :

Sub nb_aleatoire()
Call plus_un 'incrémente de 1
Dim nb_alea

nb_alea = Int(Rnd * 99) + 1 'génère le nombre aléatoire

Range("c5") = nb_alea + Range("a1").Value ' affiche en C5 somme incrémentation + nb aléatoire
'valeur du nb aléatoire (pour info)
Range("c1") = nb_alea

End Sub

j'espère avoir été clair dans mon explication

bonjour

merci c'est très clair

mais...je n'arrive pas à le faire fonctionner. Je dois me tromper quelques part... je créai le bouton, je double clic dessus, rentre les données mais quand je reviens sur le bouton il ne se passe rien...

qu'es se que j’oublie?

merci

tu peux me faire une explication détaillé s'il te plait

je ne sais pas ou je me trompe

merki

Bonjour,

dans l'ordre :

-tu sélectionnes l'onglet "Développeur" et tu cliques "Visualiser le code", ou alors plus court ALT + F11

-tu double-clique sur Feuil1, tu colles le code

Option Explicit
Option Base 1

Sub nb_aleatoire()
Call plus_un
Dim nb_alea

nb_alea = Int(Rnd * 99) + 1

Range("c5") = nb_alea + Range("a1").Value
'valeur du nb aléatoire (pour info)
Range("c1") = nb_alea

End Sub

Sub plus_un()
'exemple avec A1
Range("A1").Value = Range("A1").Value + 1
End Sub

-tu reviens sur ton tableau excel, tu crées ton bouton, clic droit dessus, "Affecter une macro..." et tu sélectionnes "Feuil1.nb_aleatoire", OK

Maintenant quand tu cliques sur le bouton, la macro s'éxécute, incrémente de 1 la cellule A1, génère un nombre aléatoire dans la cellule C1 et fait la somme des deux en cellule C5.

A te relire

je n'ai pas affecté une macro quand je clic droit...

je suis sur office 2010...

c'est bon j'ai comprit

j'utilisais bouton activex et non pas bouton formulaire dans mode création/insérer...d'ailleurs c'est quoi la différence?

merci

heu j'ai toujours la sommes des deux qui s'effectue...

je vais voir

merci

dernière question

je ne veux aps que se fasse la somme des deux. Je veux une cellule avec l'incrémentation et une autre avec l'aléatoire..

comment faire

merci pour tout*


BINGO j'ai trouvé

merci pour tout c'est super. GROS boulot

bonne journée

Tu supprimes cette ligne de code

Range("c5") = nb_alea + Range("a1").Value

Bonjour

je reviens sur ce post pas trop vieux

Je me sers de tout ça et ça me facilite la vie, mais...il y a toujours un mais...

quand je click sur le bouton pour le nombre aléatoire il m'arrive d'avoir le même nombre qui apparait.

Comment éviter cela

merci

Bonjour,

le nombre aléatoire étant généré à chaque clic sur le bouton, il est normal que des doublons de forment.

Pour éviter les doublons il faut faire un tirage de xx nombres à la fois.

si j'ai comprit, il faut tiré plusieurs nombres pour être sur de ne pas avoir de doublons c'est ça?

Donc normal

merci

bon weekend

bonjour

je pense qu'il y a un problème

l'aléatoire bug

donc j'enregistre le fichier excel a chaque modification mais quand j'ouvre le fichier excel les deux premiers numéros aléatoires sont toujours 70 puis 53 puis un autre... Donc le nombre aléatoire n'est réel que pour le 3eme appuis...

que faire

merci

c'est bien ça:

j'ai enregistre le fichier et fermé le fichier avec le nombre aléatoire sur 70, j'ai cliqué pour refaire un nombre, il me remet 70 puis 53... j'ai enregistré sur 53, il remet 70 des l’appui sur le bouton, ...quoique je fasse des appuis sur le bouton j'ai 70 puis 53...

Bonjour,

avec ce code tu n'auras plus ce problème :

Sub aleatoire()
Dim MyValue
Randomize    ' Initialise le générateur de nombres aléatoires.
' Renvoie une valeur aléatoire comprise entre 1 et 100.
MyValue = Int((100 * Rnd) + 1)
Range("c10") = MyValue
End Sub

bonjour

merci pour l'info mais peux tu être explicite s'il te plaît, je l'écris ou ça?

merci

En attendant j'ai bidouillé un petit truc, je tire au sort deux numéros que j'ajoute...

Mais je vais essayer ton truc quand tu m'auras dis comment faire

lol

merci

A ok j'ai comprit il faut que je modifie l'existant

merci

rien à faire je ne sais pas faire fonctionner cela

j'ai deux fonction au bouton...dans une case faire +1 et dans une autre aléatoire...j'ai prit la macro du début et modifié par ce que tu as mit mais il me dit erreur...

si j'écris ça: ça ne marche pas

Option Explicit

Option Base 1

Sub aleatoire()

Dim MyValue

Randomize ' Initialise le générateur de nombres aléatoires.

' Renvoie une valeur aléatoire comprise entre 1 et 100.

MyValue = Int((100 * Rnd) + 1)

Range("c10") = MyValue

End Sub

Sub plus_un()

'exemple avec A1

Range("A1").Value = Range("A1").Value + 1

End Sub

je comprends pas toutes les écritures mais avec ça ça marche bien...

Option Explicit

Option Base 1

Sub aleatoire()

Call plus_un

Dim MyValue

Randomize ' Initialise le générateur de nombres aléatoires.

' Renvoie une valeur aléatoire comprise entre 1 et 100.

MyValue = Int((100 * Rnd) + 1)

Range("c10") = MyValue

End Sub

Sub plus_un()

'exemple avec A1

Range("A1").Value = Range("A1").Value + 1

End Sub

Bonjour,

il suffisait de remplacer la macro qui génère le nombre aléatoire.

bonjour

merci

mais ça marché pas en fait j'ai dû mal recopier mais j'ai piger

niquel merci tes trop fort....

Rechercher des sujets similaires à "bouton incrementer numero aleatoire"