Générateur aleatoire
Résolu
lepapillon2015
Messages postés
28
Statut
Membre
-
lepapillon2015 Messages postés 28 Statut Membre -
lepapillon2015 Messages postés 28 Statut Membre -
bonjour la communauté !
J'espère que vous allez tous bien!
J'ai un petit problème, je cherche à faire un générateur aleatoire sur une colonne de 30 cases par exemples, et qui affiche 1 ou 2 dans ces dernières!
Je crois que c'est pas compliqué mais je galère !
Merci d'avance !
J'espère que vous allez tous bien!
J'ai un petit problème, je cherche à faire un générateur aleatoire sur une colonne de 30 cases par exemples, et qui affiche 1 ou 2 dans ces dernières!
Je crois que c'est pas compliqué mais je galère !
Merci d'avance !
5 réponses
-
Bonjour Lepapillon, bonjour le forum,
Peut-être comme ça :
Sub Macro1() Dim O As Worksheet 'déclare la variable O (Onglet) Dim I As Byte 'déclare la variable I (Incrément) Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter à ton cas) Randomize 'lance le générateur de nombre aléatoire For I = 1 To 30 'boucle de 1 à 30 O.Cells(I, 1).Value = Int(2 * Rnd + 1) 'renvoie dans la cellule ligne I colonne 1 (=A) de l'onglet O un nombre aléatoire 1 ou 2 Next I 'prochaine ligne de la boucle End Sub
Voir l'aide Visual basic sur le mot clé Rnd...
-
Bonjour
Sub Aleatoire() Dim CelDepart As String Dim NbCel As Integer Dim i As Integer CelDepart = "A1" NbCel = 30 Range(CelDepart).Select For i = 1 To NbCel Randomize ActiveCell.Value = Int(2 * Rnd) + 1 ActiveCell.Offset(1, 0).Select Next End Sub
C'est un exemple
cordialement -
-
-
-
-
For I = 1 To 30
If O.Cells(I, 2).Value = "bonjour"
cell.Interior.ColorIndex = 3
Else
cell.Interior.ColorIndex = 4
End If
Next I
End Sub
J'essaye de colorier en rouge pour bonjour dans la continuité de ce que vous avez fait mais cela ne marqhe pas, il exige un then ....
Merci d'avance si vous avez une idée et surtout du temps que vous me consacrez :) -
1. eh bien, tu l'ajoutes !
If O.Cells(I, 2).Value = "bonjour" Then
2. ou mieuxFor I = 1 To 30
If O.Cells(I, 2).Value = "bonjour"
For I = 1 To 30
O.Cells(I, 1).Value = Int(2 * Rnd + 1)
If O.Cells(I, 1).Value = 1 Then
O.Cells(I, 2).Value = "bonjour"
O.Cells(I, 2).Interior.ColorIndex = 3
Else
O.Cells(I, 2).Value = "bonsoir"
O.Cells(I, 2).Interior.ColorIndex = 4
End If
Next I
Bon courage
-
-
Je vais essayer!
En tout cas merci bcp de votre réactivité, cela fait plaisir à voir :)
Je vous tiens au courant, et encore merci ! -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -