[EXCEL VBA]nombre au choix de l'ordinateur

Résolu
iliesss Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

j'ai une plage A1:A31 comment faire une macro qui affacte dans cette plage des nombre entre 8000,00 et 11000,00 de leur choix.

et merci
A voir également:

1 réponse

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,
Pour une plage plus importante, il faudra absolument* une autre macro. En attendant, voici ma contribution (modeste) à votre problème :

Dim Lig As Integer 
Randomize 
For Lig = 1 To 31 
toto: 
Cells(Lig, 1) = Round(Rnd * 100000, 0) 
If Cells(Lig, 1) < 11000 And Cells(Lig, 1) > 8000 Then 
Else 
GoTo toto 
End If 
Next


* Il convient habituellement d'éviter les goto toto...
Cordialement,
-- Il n'y a rien de tel qu'une question idiote, seulement une réponse idiote. A.Einstein --
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour,

peut-^tre + simple

Sub noter()
Dim cellule As Range
Dim nbre as integer
Application.ScreenUpdating = False
Randomize
For Each cellule In Range("A1:A31")
    nbre = Int(Rnd * 3000) + 8000
    cellule = nbre
Next cellule
End Sub
0
pijaku
 
Salut Michel_m,
Effectivement, bien plus simple, plus rapide et aussi plus juste "programmaticalement" parlant.
Bonne journée
0
iliesss Messages postés 113 Date d'inscription   Statut Membre Dernière intervention  
 
salut mr pijaku
merci pour toi et pour mr michel
ca marche tres bien.
mais si mon nombre contien deux chiffres apres la vergule comme faire SVP
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
bonjour
Sub noter()
Dim cellule As Range
Dim nbre As Double
Application.ScreenUpdating = False
Randomize
For Each cellule In Range("A1:A31")
    nbre = Rnd * 3000 + 8000
    cellule = Round(nbre, 2)
Next cellule
End Sub
0