Ajouter données aléatoires dans cellules

Rebonjour.

Me voila pour une nouvelle question. Je souhaiterai remplir les cellules allant de A1 à A50 avec des nombres aléatoires compris entre 0 et 20, mais en passant par une macro.

Sub Remplissage()
  Dim i As Integer
  For i = 1 To 50
    Cells(i,1) = rnd * 21
  Next i
End Sub

Cependant, quand j'exécute la macro, Excel me dit qu'il y a une erreur à la ligne "Cells(i,1) = rnd * 21", je ne vois pas quelle peut être cette erreur.

Bonjour,

Cells(i, 1) = Int(Rnd() * 21)

eric

Je te remercie ! Cela fonctionne bien !

Tant que j'y suis, et que c'est dans la prolongation de ma demande précédente, j'ai un autre problème :

On me demande de créer une feuille qui n'enregistre que les données comprises entre 10 et 15.

J'ai donc mon code pour créer les valeurs aléatoires (qui est sur la Feuil1)

'remplir n cellules avec des données entières aléatoires
Sub Remplissage()
  Dim i As Integer
  For i = 1 To 50
    Cells(i, 1) = Int(Rnd() * 21)
  Next i
End Sub

Et mon code pour la condition (qui sera sur la Feuil4)

Sub nouvelleFeuille()
Dim i As Integer
For i = 1 To 50
    Cells(i, 1) = Int(Rnd() * 21)
    If Sheets("Feuil1").Cells(i, 1) > 10 And Sheets("Feuil1").Cells(i, 1) > 15 Then
    Sheets("Feuil1").Cells(i, 1) = Sheets("Feuil4").Cells(i, 1)
    End If
    Next i
End Sub

Voici donc mon soucis :

La première macro s'exécute parfaitement. Quand je veux exécuter la macro suivante, elle m'enlève des données de la Feuil1 et n'envoie rien sur la Feuil4.

De plus, je voudrai que les données ''valides'' pour la condition se mettent les unes à la suite des autres (une par cellule, en commençant par la cellule A1)

Tu écris l'inverse de ce que tu veux : Feuil1... = Feuil4...

Dernière cellule utilisée de A :

Sheets("Feuil4").Cells(rows.count, 1).end(xlup)

.offset(1) pour avoir la suivante.

eric

Donc en fait, pour donner à la feuille 4, les valeurs de la feuille 1 je dois marquer :

Sheets("Feuil4").Cells(i, 1) = Sheets("Feuil1").Cells(i, 1)

Ca marche comme pour le SQL en fait, si mes souvenirs sont bons, on attribut la première valeur de l'égalité au résultat qu'on veut obtenir (je sais pas si c'est clair )

En tout cas merci pour ton aide ! Mon problème est résolu, je m'empresse de mettre le petit V vert !

Rechercher des sujets similaires à "ajouter donnees aleatoires"