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