Vba nombre aléatoire

Résolu/Fermé
texastina Messages postés 52 Date d'inscription jeudi 15 janvier 2015 Statut Membre Dernière intervention 12 juin 2019 - Modifié par texastina le 5/10/2015 à 22:30
texastina Messages postés 52 Date d'inscription jeudi 15 janvier 2015 Statut Membre Dernière intervention 12 juin 2019 - 12 oct. 2015 à 09:56
Bonjour à tous,

J'ai un petit problème, je veux générer un nombre aléatoire grâce au VBA
J'ai donc utiliser la formule :
sub ()

Randomize
nombre_aleatoire = Int(10*Rnd) + 1

End sub ()

Et mon problème est que rien ne s'affiche dans la case A1, pourquoi ? Comment faire pour que le code sache que c'est dans la case A1 que je veux mon chiffre aléatoire ?

Merci à tous pour vos réponses :)

2 réponses

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
12 oct. 2015 à 09:47
Bonjour,

Sub color()
Dim TabCouleur
TabCouleur = Array(3, 23, 43, 1, 6)
Randomize
Cells(1, 1).Interior.ColorIndex = TabCouleur(Int(5 * Rnd))
End Sub


A+
1
texastina Messages postés 52 Date d'inscription jeudi 15 janvier 2015 Statut Membre Dernière intervention 12 juin 2019
12 oct. 2015 à 09:56
Merci encore une foi ! :)

A +
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
6 oct. 2015 à 00:26
Bonjour,

Essaie avec
Sub Test()
Randomize
Range("A1") = Int(10 * Rnd) + 1
End Sub


A+
0
texastina Messages postés 52 Date d'inscription jeudi 15 janvier 2015 Statut Membre Dernière intervention 12 juin 2019
12 oct. 2015 à 09:22
Salut Gyrus

Super merci ça marche :)

Et une autre question : est ce que tu saurais comment faire apparaitre une couleur aléatoire toujours en VBA ? Attention mon critère est que je voudrais que l'aléatoire s'applique que aux couleurs primaire (juste Rouge, bleu, vert,noir,jaune) et non pas à toute la palette couleur de excel ?
Actuelement j'utilise ce code :
Sub color()
Randomize
Cells(1, 1).Interior.Color = RGB(Int(256 * Rnd), Int(256 * Rnd), Int(256 * Rnd))

End Sub

Merci encore :)
0