1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
Sub test_tableau_dern_perf()
Dim i, j, k, l As Integer
Dim NbChevaux As Integer
Dim NomCheval As String
Dim TableauPerf() As Variant
Dim tableau(1 To 3, 1 To 6) As Integer
Dim NbPerf As Integer
Dim DernPerf As Variant
Dim Resultat As Variant
Dim thetimerstart As Long, thetimerstop As Long
DernPerf = 0
Resultat = 0
thetimerstart = Timer
'''''''''''''''''Remise à 0 du tableau
For i = 1 To 3
For j = 1 To 6
Range("a1").Offset(i, j) = 0
tableau(i, j) = 0
Next j
Next i
NbChevaux = Workbooks("Import Fiche Cheval Geny BDD glob").Sheets("chevaux bis").Range("a10000").End(xlUp).Row
For i = 0 To 3 '(NbChevaux - 1)
'''''''''''''''Déterminer NomCheval pour ouvrir la feuille cheval
NomCheval = Workbooks("Import Fiche Cheval Geny BDD glob").Sheets("chevaux bis").Range("a1").Offset(i, 0)
'''''''''''''''Déterminer le nombre de performance du cheval
NbPerf = Workbooks("Import Fiche Cheval Geny BDD glob").Sheets(NomCheval).Range("a300").End(xlUp).Row - 1
'''''''''''''''Déterminer la discipline
If Workbooks("Import Fiche Cheval Geny BDD glob").Sheets(NomCheval).Range("f2") = "Plat" Then
Discipline = "Plat"
Else
Discipline = "Autre"
End If
'''''''''''''''Faire le test si les conditions sont remplies
If (NbPerf > 2) And (Discipline = "Plat") Then
'''''''''''''''Redimensionner tableau et le remplir
ReDim TableauPerf(0 To NbPerf)
For j = 0 To UBound(TableauPerf()) - 1
TableauPerf(j) = Workbooks("Import Fiche Cheval Geny BDD glob").Sheets(NomCheval).Cells(j + 2, 11).Value
Debug.Print TableauPerf(j)
Next j
Debug.Print "suivant" & NbPerf
'''''''''''''''Comparaison au sein de TableauPerf
For k = 1 To NbPerf - 1
DernPerf = TableauPerf(k)
Resultat = TableauPerf(k - 1)
Debug.Print DernPerf & " " & Resultat
Select Case DernPerf
Case 1
tableau(1, 1) = tableau(1, 1) + 1
Select Case Resultat
Case 1
tableau(2, 1) = tableau(2, 1) + 1
Case 2 To 3
tableau(3, 1) = tableau(3, 1) + 1
Case Else
End Select
Case 2
tableau(1, 2) = tableau(1, 2) + 1
Select Case Resultat
Case 1
tableau(2, 2) = tableau(2, 2) + 1
Case 2 To 3
tableau(3, 2) = tableau(3, 2) + 1
Case Else
End Select
Case 3
tableau(1, 3) = tableau(1, 3) + 1
Select Case Resultat
Case 1
tableau(2, 3) = tableau(2, 3) + 1
Case 2 To 3
tableau(3, 3) = tableau(3, 3) + 1
Case Else
End Select
Case 4
tableau(1, 4) = tableau(1, 4) + 1
Select Case Resultat
Case 1
tableau(2, 4) = tableau(2, 4) + 1
Case 2 To 3
tableau(3, 4) = tableau(3, 4) + 1
Case Else
End Select
Case 5
tableau(1, 5) = tableau(1, 5) + 1
Select Case Resultat
Case 1
tableau(2, 5) = tableau(2, 5) + 1
Case 2 To 3
tableau(3, 5) = tableau(3, 5) + 1
Case Else
End Select
Case Else
tableau(1, 6) = tableau(1, 6) + 1
Select Case Resultat
Case 1
tableau(2, 6) = tableau(2, 6) + 1
Case 2 To 3
tableau(3, 6) = tableau(3, 6) + 1
Case Else
End Select
End Select
Next k
End If
Next i
'''''''Affichage
For l = 1 To 3
For j = 1 To 6
Range("a1").Offset(l, j) = tableau(l, j)
Next j
Next l
thetimerstop = Timer - thetimerstart
Range("h1") = thetimerstop
End Sub |
Partager