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 142 143 144 145 146 147 148 149 150 151
|
Sub Ventilation()
'*********Déclarations**********'
Dim TAB_C0(), TAB_C1(), TAB_C10(), TAB_C14(), TAB_C15(), TAB_C3(), TAB_C5A(), TAB_C5C()
'*********Capture des Tableaux de POULES**********'
TAB_C0 = Range("Serie_C0").Value
TAB_C1 = Range("Serie_C1").Value
TAB_C10 = Range("Serie_C10").Value
TAB_C14 = Range("Serie_C14").Value
TAB_C15 = Range("Serie_C15").Value
TAB_C3 = Range("Serie_C3").Value
TAB_C5A = Range("Serie_C5A").Value
TAB_C5C = Range("Serie_C5C").Value
'**************Création du Tableau C0*************'
Call Creation_Tableau(TAB_C0)
'**************Création du Tableau C1*************'
Call Creation_Tableau(TAB_C1)
'**************Création du Tableau C10*************'
Call Creation_Tableau(TAB_C10)
'**************Création du Tableau C14*************'
Call Creation_Tableau(TAB_C14)
'**************Création du Tableau C15*************'
Call Creation_Tableau(TAB_C15)
'**************Création du Tableau C3*************'
Call Creation_Tableau(TAB_C3)
'**************Création du Tableau C5A*************'
Call Creation_Tableau(TAB_C5A)
'**************Création du Tableau C5C*************'
Call Creation_Tableau(TAB_C5C)
End Sub
Function Creation_Tableau(TAB_TEMP)
Dim TAB_Final()
TAB_Final = Traitement(TAB_TEMP)
T_Temp = Select_TXX(TAB_Final(1, 1))
Nom_Feuille = T_Temp & " " & TAB_TEMP(1, 1)
Application.DisplayAlerts = False
If Sht(Nom_Feuille) = True Then Sheets(Nom_Feuille).Delete
Application.DisplayAlerts = True
Sheets(T_Temp).Copy After:=Sheets(T_Temp)
ActiveSheet.Name = Nom_Feuille
Call Create_Final(T_Temp, TAB_Final)
End Function
Function Create_Final(T_Temp, TAB_Final)
Indice = 2
Select Case T_Temp
Case Is = "T32"
For i = 2 To 64
Range("B" & i) = TAB_Final(Indice, 1)
Range("C" & i) = TAB_Final(Indice, 2)
i = i + 1
Indice = Indice + 1
Next i
Case Is = "T16"
For i = 2 To 32
Range("B" & i) = TAB_Final(Indice, 1)
Range("C" & i) = TAB_Final(Indice, 2)
i = i + 1
Indice = Indice + 1
Next i
Case Is = "T8"
For i = 2 To 16
Range("B" & i) = TAB_Final(Indice, 1)
Range("C" & i) = TAB_Final(Indice, 2)
i = i + 1
Indice = Indice + 1
Next i
Case Is = "T4"
For i = 2 To 10
If i = 6 Then i = 8
Range("B" & i) = TAB_Final(Indice, 1)
Range("C" & i) = TAB_Final(Indice, 2)
i = i + 1
Indice = Indice + 1
Next i
End Select
End Function
Function Traitement(TAB_TEMP)
Dim DIC_C0
Dim TAB_Sortie()
Set DIC_C0 = CreateObject("Scripting.Dictionary")
For i = 2 To UBound(TAB_TEMP, 1)
If TAB_TEMP(i, 2) = 1 Or TAB_TEMP(i, 2) = 2 Then DIC_C0.Add TAB_TEMP(i, 3), TAB_TEMP(i, 1)
Next i
TAB_Sortie = Range("Sortie_" & DIC_C0.Count).Value
ReDim Preserve TAB_Sortie(1 To UBound(TAB_Sortie, 1), 1 To 2)
For i = 2 To UBound(TAB_Sortie, 1)
If DIC_C0.exists(TAB_Sortie(i, 1)) Then TAB_Sortie(i, 2) = DIC_C0(TAB_Sortie(i, 1))
Next i
Traitement = TAB_Sortie
End Function
Function Select_TXX(TEMP)
Dim T_Temp As String
Select Case TEMP
Case Is > 16
T_Temp = "T32"
Case Is > 8
T_Temp = "T16"
Case Is > 4
T_Temp = "T8"
Case Else
T_Temp = "T4"
End Select
Select_TXX = T_Temp
End Function
Function Sht(Name) As Boolean
Dim s As Object
On Error Resume Next
Set s = Sheets(Name)
If Err = 0 Then Sht = True
Set s = Nothing
End Function |
Partager