Sub calcul6()
[COLOR="SeaGreen"]'ROGER2327 fecit. 8 Germinal CCXVII.[/COLOR]
Dim oDat(), oCpt(), oSrt(1 To 38760, 1 To 7), oCel
Dim y As Long, z As Long, h As Long, i As Long, j As Long, k As Long, l As Long, m As Long, n As Long
With ActiveSheet
Application.Calculation = xlCalculationManual
.Range("C6:I38760").ClearContents
Application.ScreenUpdating = False
oDat = .Range("A2:T2").Value
For Each oCel In .Range("AA2:AT17")
For i = 1 To 20
If oCel = oDat(1, i) Then y = y + 1: ReDim Preserve oCpt(1 To y): oCpt(y) = oCel: Exit For
Next i
Next oCel
For h = 1 To 15
For i = h + 1 To 16
For j = i + 1 To 17
For k = j + 1 To 18
For l = k + 1 To 19
For m = l + 1 To 20
z = z + 1
oSrt(z, 1) = oDat(1, h)
oSrt(z, 2) = oDat(1, i)
oSrt(z, 3) = oDat(1, j)
oSrt(z, 4) = oDat(1, k)
oSrt(z, 5) = oDat(1, l)
oSrt(z, 6) = oDat(1, m)
oSrt(z, 7) = 0
n = 1
Do
For n = n To y
If oDat(1, h) = oCpt(n) Then Exit For
Next n
If n < y Then
For n = n To y
If oDat(1, i) = oCpt(n) Then Exit For
Next n
If n < y Then
For n = n To y
If oDat(1, j) = oCpt(n) Then Exit For
Next n
If n < y Then
For n = n To y
If oDat(1, k) = oCpt(n) Then Exit For
Next n
If n < y Then
For n = n To y
If oDat(1, l) = oCpt(n) Then Exit For
Next n
If n < y Then
For n = n To y
If oDat(1, m) = oCpt(n) Then Exit For
Next n
If n <= y Then oSrt(z, 7) = oSrt(z, 7) + 1
End If
End If
End If
End If
End If
Loop While n <= y
Next m
Next l
Next k
Next j
Next i
Next h
.Range("[COLOR="Red"][B]C6:I38765[/B][/COLOR]").Value = oSrt
.Range("[COLOR="Red"][B]C6:I38765[/B][/COLOR]").Sort Key1:=Range("I6"), Order1:=xlDescending, Header:=xlNo, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
End With
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub