Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Denys
Bonjour Olitoto,
Voici une petite macro de Debra Dalgleish utilisée pour la loterie et que j'ai modifiée pour la cause:
Sub Aléatoire() Dim c As Range Dim rng As Range Dim x As Integer x = 50 Set rng = Range("A1:A50") rng.Clear
For Each c In rng c.Value = Int(x * Rnd + 1) Do Until Application.WorksheetFunction _ .CountIf(rng, c.Value) = 1 c.Value = Int(x * Rnd + 1) Loop Next End Sub
Bonne journée
Denys
Bonjour,
Je voudrais remplir une colonne de 50 lignes avec des nombres aléatoires entre 0 et 50, MAIS sans qu'aucun des nombres ne se répète deux fois.
Bien sûr, j'ai essayé la fonction ALEA() en la triturant, mais rien à faire, elle me sort souvent 2 à 3 fois le même nombre dans la série.
Puis je résoudre ce pb sans passer par la programmation ?
Merci à tous ,
Olivier
Bonjour Olitoto,
Voici une petite macro de Debra Dalgleish utilisée pour la loterie et
que j'ai modifiée pour la cause:
Sub Aléatoire()
Dim c As Range
Dim rng As Range
Dim x As Integer
x = 50
Set rng = Range("A1:A50")
rng.Clear
For Each c In rng
c.Value = Int(x * Rnd + 1)
Do Until Application.WorksheetFunction _
.CountIf(rng, c.Value) = 1
c.Value = Int(x * Rnd + 1)
Loop
Next
End Sub
Bonne journée
Denys
Bonjour,
Je voudrais remplir une colonne de 50 lignes avec des nombres aléatoires
entre
0 et 50, MAIS sans qu'aucun des nombres ne se répète deux fois.
Bien sûr, j'ai essayé la fonction ALEA() en la triturant, mais rien à faire,
elle me sort souvent 2 à 3 fois le même nombre dans la série.
Puis je résoudre ce pb sans passer par la programmation ?
Voici une petite macro de Debra Dalgleish utilisée pour la loterie et que j'ai modifiée pour la cause:
Sub Aléatoire() Dim c As Range Dim rng As Range Dim x As Integer x = 50 Set rng = Range("A1:A50") rng.Clear
For Each c In rng c.Value = Int(x * Rnd + 1) Do Until Application.WorksheetFunction _ .CountIf(rng, c.Value) = 1 c.Value = Int(x * Rnd + 1) Loop Next End Sub
Bonne journée
Denys
Bonjour,
Je voudrais remplir une colonne de 50 lignes avec des nombres aléatoires entre 0 et 50, MAIS sans qu'aucun des nombres ne se répète deux fois.
Bien sûr, j'ai essayé la fonction ALEA() en la triturant, mais rien à faire, elle me sort souvent 2 à 3 fois le même nombre dans la série.
Puis je résoudre ce pb sans passer par la programmation ?
Merci à tous ,
Olivier
AV
Puis je résoudre ce pb sans passer par la programmation ?
En A2:A51 ta série de nombres 1;2;3;4;5.....50 En B2 et recopie ---> B51 =ALEA() En C2 et recopie ---> C51 : =INDEX($A$2:$A$51;RANG(B2;$B$2:$B$51))
Chaque appui sur la touche F9 effectuera un nouveau retirage dans un ordre aléatoire en C2:C51
Par macro, pour un tirage en E2:E51 :
Sub zzz() [E2:E51] = "" For i = 1 To 50 x1 = Evaluate("int(rand()*(" & 50 + 1 & "-" & 1 & ")+" & 1 & ")") If Application.CountIf([E2:E51], x1) > 0 Then i = i - 1 Else Cells(i + 1, 5) = x1 Next End Sub
Exemples là : http://cjoint.com/?mfhwNMgEjx
AV
Puis je résoudre ce pb sans passer par la programmation ?
En A2:A51 ta série de nombres 1;2;3;4;5.....50
En B2 et recopie ---> B51 =ALEA()
En C2 et recopie ---> C51 : =INDEX($A$2:$A$51;RANG(B2;$B$2:$B$51))
Chaque appui sur la touche F9 effectuera un nouveau retirage dans un ordre
aléatoire en C2:C51
Par macro, pour un tirage en E2:E51 :
Sub zzz()
[E2:E51] = ""
For i = 1 To 50
x1 = Evaluate("int(rand()*(" & 50 + 1 & "-" & 1 & ")+" & 1 & ")")
If Application.CountIf([E2:E51], x1) > 0 Then i = i - 1 Else Cells(i + 1,
5) = x1
Next
End Sub
Puis je résoudre ce pb sans passer par la programmation ?
En A2:A51 ta série de nombres 1;2;3;4;5.....50 En B2 et recopie ---> B51 =ALEA() En C2 et recopie ---> C51 : =INDEX($A$2:$A$51;RANG(B2;$B$2:$B$51))
Chaque appui sur la touche F9 effectuera un nouveau retirage dans un ordre aléatoire en C2:C51
Par macro, pour un tirage en E2:E51 :
Sub zzz() [E2:E51] = "" For i = 1 To 50 x1 = Evaluate("int(rand()*(" & 50 + 1 & "-" & 1 & ")+" & 1 & ")") If Application.CountIf([E2:E51], x1) > 0 Then i = i - 1 Else Cells(i + 1, 5) = x1 Next End Sub
Exemples là : http://cjoint.com/?mfhwNMgEjx
AV
olitoto
Bonjour Olitoto,
Voici une petite macro de Debra Dalgleish utilisée pour la loterie et que j'ai modifiée pour la cause:
Sub Aléatoire() Dim c As Range Dim rng As Range Dim x As Integer x = 50 Set rng = Range("A1:A50") rng.Clear
For Each c In rng c.Value = Int(x * Rnd + 1) Do Until Application.WorksheetFunction _ .CountIf(rng, c.Value) = 1 c.Value = Int(x * Rnd + 1) Loop Next End Sub
Bonne journée
Denys
Bonjour,
Je voudrais remplir une colonne de 50 lignes avec des nombres aléatoires entre 0 et 50, MAIS sans qu'aucun des nombres ne se répète deux fois.
Bien sûr, j'ai essayé la fonction ALEA() en la triturant, mais rien à faire, elle me sort souvent 2 à 3 fois le même nombre dans la série.
Puis je résoudre ce pb sans passer par la programmation ?
Merci à tous ,
Olivier
Merci beaucoup à tous les deux !
Olivier
Bonjour Olitoto,
Voici une petite macro de Debra Dalgleish utilisée pour la loterie et
que j'ai modifiée pour la cause:
Sub Aléatoire()
Dim c As Range
Dim rng As Range
Dim x As Integer
x = 50
Set rng = Range("A1:A50")
rng.Clear
For Each c In rng
c.Value = Int(x * Rnd + 1)
Do Until Application.WorksheetFunction _
.CountIf(rng, c.Value) = 1
c.Value = Int(x * Rnd + 1)
Loop
Next
End Sub
Bonne journée
Denys
Bonjour,
Je voudrais remplir une colonne de 50 lignes avec des nombres aléatoires
entre
0 et 50, MAIS sans qu'aucun des nombres ne se répète deux fois.
Bien sûr, j'ai essayé la fonction ALEA() en la triturant, mais rien à faire,
elle me sort souvent 2 à 3 fois le même nombre dans la série.
Puis je résoudre ce pb sans passer par la programmation ?
Voici une petite macro de Debra Dalgleish utilisée pour la loterie et que j'ai modifiée pour la cause:
Sub Aléatoire() Dim c As Range Dim rng As Range Dim x As Integer x = 50 Set rng = Range("A1:A50") rng.Clear
For Each c In rng c.Value = Int(x * Rnd + 1) Do Until Application.WorksheetFunction _ .CountIf(rng, c.Value) = 1 c.Value = Int(x * Rnd + 1) Loop Next End Sub
Bonne journée
Denys
Bonjour,
Je voudrais remplir une colonne de 50 lignes avec des nombres aléatoires entre 0 et 50, MAIS sans qu'aucun des nombres ne se répète deux fois.
Bien sûr, j'ai essayé la fonction ALEA() en la triturant, mais rien à faire, elle me sort souvent 2 à 3 fois le même nombre dans la série.
Puis je résoudre ce pb sans passer par la programmation ?
Merci à tous ,
Olivier
Merci beaucoup à tous les deux !
Olivier
olitoto
Puis je résoudre ce pb sans passer par la programmation ?
En A2:A51 ta série de nombres 1;2;3;4;5.....50 En B2 et recopie ---> B51 =ALEA() En C2 et recopie ---> C51 : =INDEX($A$2:$A$51;RANG(B2;$B$2:$B$51))
Chaque appui sur la touche F9 effectuera un nouveau retirage dans un ordre aléatoire en C2:C51
Par macro, pour un tirage en E2:E51 :
Sub zzz() [E2:E51] = "" For i = 1 To 50 x1 = Evaluate("int(rand()*(" & 50 + 1 & "-" & 1 & ")+" & 1 & ")") If Application.CountIf([E2:E51], x1) > 0 Then i = i - 1 Else Cells(i + 1, 5) = x1 Next End Sub
Exemples là : http://cjoint.com/?mfhwNMgEjx
AV
Merci beaucoup à tous les deux !
Olivier
Puis je résoudre ce pb sans passer par la programmation ?
En A2:A51 ta série de nombres 1;2;3;4;5.....50
En B2 et recopie ---> B51 =ALEA()
En C2 et recopie ---> C51 : =INDEX($A$2:$A$51;RANG(B2;$B$2:$B$51))
Chaque appui sur la touche F9 effectuera un nouveau retirage dans un ordre
aléatoire en C2:C51
Par macro, pour un tirage en E2:E51 :
Sub zzz()
[E2:E51] = ""
For i = 1 To 50
x1 = Evaluate("int(rand()*(" & 50 + 1 & "-" & 1 & ")+" & 1 & ")")
If Application.CountIf([E2:E51], x1) > 0 Then i = i - 1 Else Cells(i + 1,
5) = x1
Next
End Sub
Puis je résoudre ce pb sans passer par la programmation ?
En A2:A51 ta série de nombres 1;2;3;4;5.....50 En B2 et recopie ---> B51 =ALEA() En C2 et recopie ---> C51 : =INDEX($A$2:$A$51;RANG(B2;$B$2:$B$51))
Chaque appui sur la touche F9 effectuera un nouveau retirage dans un ordre aléatoire en C2:C51
Par macro, pour un tirage en E2:E51 :
Sub zzz() [E2:E51] = "" For i = 1 To 50 x1 = Evaluate("int(rand()*(" & 50 + 1 & "-" & 1 & ")+" & 1 & ")") If Application.CountIf([E2:E51], x1) > 0 Then i = i - 1 Else Cells(i + 1, 5) = x1 Next End Sub