Pour un tirage de chiffres aléatoires, je ne pige pas bien cette ligne de déclaration
- Code: Tout sélectionner
Dim Tableau(120) As Integer
Je vois bien que le 120 indique la limite maxi, mais est-t-on obligé de déclarer comme çà ?
Dans mon cas, j'ai besoin de sortir de 24 à 230 chiffres selon les besoins.
ce nombre correspond à:
- Code: Tout sélectionner
Nbr = WorksheetFunction.CountA(Range("ListeAttente"))
Si je mets Dim Tableau(230), cela ne risque t-il pas d'alourdir inutilement la macro ?
Voici le code
- Code: Tout sélectionner
Sub Tirage_EquipAléatoire() 'code pompé et adapté à partir d'une macro de Mytå
Dim Temp As Integer, Existe As Boolean
Dim i As Integer, J As Integer
Dim Tableau(120) As Integer, RDest As Range
Dim Nbr As Double, NbP$, TabL, Cel As Range, Top
Application.ScreenUpdating = False
Nbr = WorksheetFunction.CountA(Range("ListeAttente"))
NbP = Range("o4") 'joueurs par équipe
Set RDest = Range(Cells(4, 7), Cells(4, 6 + NbP))
TabL = WorksheetFunction.Floor((Nbr / NbP), 1) 'plancher lignes tableau
Range("g4:i300").ClearContents
Randomize
For i = 1 To Nbr
Existe = True
While Existe
Temp = Int(Nbr * Rnd + 1) 'entier
For J = 1 To Nbr
If Temp = Tableau(J) Then
Existe = True
Exit For
Else
Existe = False
End If
Next J
Wend
Tableau(i) = Temp
Next i
For i = 1 To Nbr
RDest(i).Value = Tableau(i)
Next i
Merci du coup de pouce
Bonne journée
Claude.