Sub PoulesAuto()
Dim intNumPoule As Integer
Dim intIndex As Integer
Dim dblPoids As Double
Dim lngLigne As Long
' lancer la macro après avoir trié les poids par ordre croissant
intNumPoule = 1 ' numéro de poule
lngLigne = 3 ' ligne traitée
dblPoids = Cells(lngLigne, 1).Value ' mémoriser le plus petit poids de la poule
Cells(lngLigne, 2).Value = intNumPoule
intIndex = 1 ' nombre de personnes dans une poule
lngLigne = lngLigne + 1
Do Until Cells(lngLigne, 1).Value = ""
If Cells(lngLigne, 1).Value > dblPoids * 1.1 Then
' poule suivante
dblPoids = Cells(lngLigne, 1).Value
intNumPoule = intNumPoule + 1
intIndex = 1
Else
intIndex = intIndex + 1
End If
If intIndex > 4 Then
intIndex = 1
intNumPoule = intNumPoule + 1
dblPoids = Cells(lngLigne, 1).Value
End If
' inscrire le numéro de poule
Cells(lngLigne, 2).Value = intNumPoule
lngLigne = lngLigne + 1
Loop
End Sub