fonction ALEA
Le
Gigi

Bonjour à tous
Je cherche un exemple d'utilisation de la fonction ALEA ENTRE BORNES !
Comment creer une liste de 20 numeros de 50 à 70 par exemple où chaque N°
n'apparaitrait qu'une seule fois
Afin d'organiser une petite loterie entre Papy de mon âge Merci de m'aider
Je cherche un exemple d'utilisation de la fonction ALEA ENTRE BORNES !
Comment creer une liste de 20 numeros de 50 à 70 par exemple où chaque N°
n'apparaitrait qu'une seule fois
Afin d'organiser une petite loterie entre Papy de mon âge Merci de m'aider
Pas besoin d'entre bornes
En A2 tu mets 50 puis 51tu tires vers le bas
tu obtiens ta série de 50 à 69
en colonne B tu mets =alea() tout le long de ta série
puis tu trie les deux colonnes sur B
--
lSteph
On 16 mar, 15:09, "Gigi"
entre 1 et 49 . Chaque série est trier en ordre croissant.
Sub Loto()
Dim i As Integer, j As Integer, k As Integer
Dim Tblo(), Rg As Range, A As Integer
ReDim Tblo(1 To 400, 1 To 7)
Randomize
Application.ScreenUpdating = False
For i = 1 To UBound(Tblo, 1)
Tblo(i, 1) = Int((49 * Rnd) + 1)
For j = 2 To 7
A = Int((49 * Rnd) + 1)
For k = 1 To j - 1
If A = Tblo(i, k) Then A = Int((49 * Rnd) + 1): k = 0
Next
Tblo(i, j) = A
Next
Next
With Worksheets("Feuil1")
Set Rg = .Range("A1").Resize(UBound(Tblo, 1), UBound(Tblo, 2))
End With
Rg = Tblo
Trier Rg.Resize(, Rg.Columns.Count)
Application.ScreenUpdating = True
Set Rg = Nothing
End Sub
'--------------------------------------
Sub Trier(Rg As Range)
Dim R As Range, A As Integer
For Each R In Rg.Rows
With R
A = A + 1
.Sort Key1:=Rg(A, 1), Order1:=xlAscending, Header:úlse _
, OrderCustom:=1, MatchCase:úlse, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
End With
Next
Set R = Nothing: Set Rg = Nothing
End Sub
'--------------------------------------
"Gigi" #
Bonjour à tous
Je cherche un exemple d'utilisation de la fonction ALEA ENTRE BORNES !
Comment creer une liste de 20 numeros de 50 à 70 par exemple où chaque N°
n'apparaitrait qu'une seule fois
Afin d'organiser une petite loterie entre Papy de mon âge Merci de m'aider
'---------------------------------------
Sub Loto1()
Dim i As Integer, j As Integer, k As Integer
Dim Tblo(), Rg As Range, A As Integer
Dim Mx As Integer, Mn As Integer
Dim Nb As Integer, Cb As Integer
Dim Feuille As String, Adr As String
'---------Seules variables à définir------------
Mx = 100 'Borne maximale
Mn = 50 'Borne minimale
Nb = 50 'Nombre de tirage
Cb = 10 'Nombre de chiffres par série
'Les données seront copiées sur la feuille :
Feuille = "Feuil2" ' nom de l'onglet
'Début de copie dans la cellule :
Adr = "A1"
'-------------------------------------------------
ReDim Tblo(1 To Nb, 1 To Cb)
Randomize
Application.ScreenUpdating = False
For i = 1 To UBound(Tblo, 1)
Tblo(i, 1) = Int((Mx - Mn + 1) * Rnd + Mn)
For j = 2 To Cb
A = Int((Mx - Mn + 1) * Rnd + Mn)
For k = 1 To j - 1
If A = Tblo(i, k) Then A = Int((Mx - Mn + 1) * Rnd + Mn): k = 0
Next
Tblo(i, j) = A
Next
Next
With Worksheets(Feuille)
Set Rg = .Range(Adr).Resize(UBound(Tblo, 1), UBound(Tblo, 2))
End With
Rg = Tblo
Trier Rg.Resize(, Rg.Columns.Count)
Application.ScreenUpdating = True
Set Rg = Nothing
End Sub
'---------------------------------------
Sub Trier(Rg As Range)
Dim R As Range, A As Integer
For Each R In Rg.Rows
With R
A = A + 1
.Sort Key1:=Rg(A, 1), Order1:=xlAscending, Header:úlse _
, OrderCustom:=1, MatchCase:úlse, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
End With
Next
Set R = Nothing: Set Rg = Nothing
End Sub
'--------------------------------------
"MichDenis"
Exemple : Pour faire 400 tirages d'un séquence de 7 chiffres
entre 1 et 49 . Chaque série est trier en ordre croissant.
Sub Loto()
Dim i As Integer, j As Integer, k As Integer
Dim Tblo(), Rg As Range, A As Integer
ReDim Tblo(1 To 400, 1 To 7)
Randomize
Application.ScreenUpdating = False
For i = 1 To UBound(Tblo, 1)
Tblo(i, 1) = Int((49 * Rnd) + 1)
For j = 2 To 7
A = Int((49 * Rnd) + 1)
For k = 1 To j - 1
If A = Tblo(i, k) Then A = Int((49 * Rnd) + 1): k = 0
Next
Tblo(i, j) = A
Next
Next
With Worksheets("Feuil1")
Set Rg = .Range("A1").Resize(UBound(Tblo, 1), UBound(Tblo, 2))
End With
Rg = Tblo
Trier Rg.Resize(, Rg.Columns.Count)
Application.ScreenUpdating = True
Set Rg = Nothing
End Sub
'--------------------------------------
Sub Trier(Rg As Range)
Dim R As Range, A As Integer
For Each R In Rg.Rows
With R
A = A + 1
.Sort Key1:=Rg(A, 1), Order1:=xlAscending, Header:úlse _
, OrderCustom:=1, MatchCase:úlse, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
End With
Next
Set R = Nothing: Set Rg = Nothing
End Sub
'--------------------------------------
"Gigi" #
Bonjour à tous
Je cherche un exemple d'utilisation de la fonction ALEA ENTRE BORNES !
Comment creer une liste de 20 numeros de 50 à 70 par exemple où chaque N°
n'apparaitrait qu'une seule fois
Afin d'organiser une petite loterie entre Papy de mon âge Merci de m'aider