Nombre aléatoire dans une macro

nico.sibille

XLDnaute Junior
Bonjour,
je cherche à créer une macro avec pour but d'avoir un nombre aléatoire allant de 1 à ? (la valeur max changera à chaque fois).
Donc je souhaite avoir en D3 un nombre aléatoire compris entre 1 et C3.

Voilà j'éspère que j'ai été assez clair.
Merci.

Nicolas.
 

nico.sibille

XLDnaute Junior
Re : Nombre aléatoire dans une macro

Merci pour vos réponses mais ce ne sont pas des macros. Car ça, j'ai déjà fait mais le problème c'est que dès que je change quelque chose sur la feuille, la réponse change. Moi je souhaiterai créer un bouton pour cette macro afin que ça soit moi qui décides quand ça changera car cette "formule", je vais l'avoir 10 fois sur ma feuille. Donc je créerai 10 boutons, un pour chacune.
Voilà, j'éspère que c'est plus clair.
Merci.
 
Dernière édition:

kllmoon

XLDnaute Occasionnel
Re : Nombre aléatoire dans une macro

Fallait préciser que c'était pour un bouton... Voici ton code j'ai testé il fonctionne. En anglais mais excel traduit

Code:
Private Sub CommandButton1_Click()
monalea = Int((Range("C3").Value - 1 + 1) * Rnd + 1)
Range("A1").Value = monalea
End Sub

Tu n'as pas besoin de 10 boutons, fait juste copier ce qu'il y a entre PrivateSub et EndSub en changeant ton Range("C3") et Range("A1") pour tes nouvelles valeurs. Comme ceci :

Code:
Private Sub CommandButton1_Click()
monalea = Int((Range("C3").Value - 1 + 1) * Rnd + 1)
Range("A1").Value = monalea
'
monalea2 = Int((Range("C4").Value - 1 + 1) * Rnd + 1)
Range("A2").Value = monalea2
'
monalea3 = Int((Range("C5").Value - 1 + 1) * Rnd + 1)
Range("A3").Value = monalea3
End Sub
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Nombre aléatoire dans une macro

Re

pour 10 cellules tu peux faire une boucle :

Code:
Option Explicit
Sub test()
Dim i As Byte
Randomize
For i = 3 To 13
    Cells(4, i).Value = Int(Cells(3, i).Value * Rnd) + 1
Next i
End Sub

attention kllmoon, sans le "randomize" tu obtiendras les mêmes numéros à chaque ré ouverture d'excel...

@+
 

nico.sibille

XLDnaute Junior
Re : Nombre aléatoire dans une macro

merci par contre dans mon cas, ca complique énormément la chose je pense c'est pour cela que je comptais faire plusieurs boutons car:
L'idéal serait d'avoir 5 boutons :
j'ai mon nombre que je rentre en c3 et je veux un nombre aléatoire avec c3 pour limte en d3
ensuite idem je rentre en c5 et je veux un nombre... en d5

puis un autre bouton
f3 en g3
f5 en g5
un autre,
i3 en j3
i5 en j5
un autre,
l3 en m3
l5 en m5
un autre,
O3 enP3
O5 en P5

Voilà c'est donc un peu plus compliqué...!
Donc si c'est possible, c'est génial sinon, je ferai 10 boutons.
Merci beaucoup déjà...
 
Dernière édition:

skoobi

XLDnaute Barbatruc
Re : Nombre aléatoire dans une macro

Re,

salut Pierrot :),

en reprenant le code de Pierrot:

Code:
Option Explicit
Sub test()
Dim i As Byte, Adresse As Variant
Randomize
Adresse = Array("C3", "C5", "F3", "F5", "I3", "I5", "L3", "L5", "O3", "O5")
For i = LBound(Adresse) To UBound(Adresse)
    Range(Adresse(i)).Value = Int(Range(Adresse(i)).Offset(0, 1).Value * Rnd) + 1
Next i
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Nombre aléatoire dans une macro

Bonjour à tous

Dans ce cas, on peut être également utiliser un "step", et modifier comme suit :

Code:
Option Explicit
Sub test()
Dim i As Byte
Randomize
For i = 3 To 16 Step 2
    Cells(3, i + 1).Value = Int(Cells(3, i).Value * Rnd) + 1
    Cells(5, i + 1).Value = Int(Cells(5, i).Value * Rnd) + 1
Next i
End Sub

bonne journée
@+
 

Discussions similaires

Réponses
24
Affichages
519

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 520
Messages
2 089 298
Membres
104 092
dernier inscrit
karbone57