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
| Sub TraiteLigne(NomLigneProd As String, TypeTraitement As String, LigneLue As Variant, ByRef VarTab() As Variant)
Dim Tab1 As Variant
Dim ChampDate As String
Dim ChampMachine As String
Dim ChampLot As String
Dim ChampProg As String
Dim ChampConfig As String
Dim ChampFeeder As String
Dim ChampRefCps As String
Dim ChampFormeCps As String
'format de la ligne lue
'Date |Nom Machine|Lot |Programme|Config |Id Flan|Feeder |Ref Cps|Forme Cps|Nbre pris|Nbre Rejet Ident|Nbre Rejet Vacuum|
'Tab1(0)|Tab1(1) |Tab1(2)|Tab1(3) |Tab1(4)|Tab1(5)|Tab1(6)|Tab1(7)|Tab1(8) |Tab1(9) | Tab1(10) | Tab1(11) |
IndexTableauData = 0
Select Case TypeTraitement
Case "Journalier"
Tab1 = Split(LigneLue, "|")
If VarTab(IndexTableauData, 0) <> "" Then
'trouver la ligne correspondant à la ligne de production
While VarTab(IndexTableauData, 0) <> NomLigneProd
IndexTableauData = IndexTableauData + 1
Wend
'trouver la ligne correspondant à la machine
ChampDate = Left(Tab1(0), 10)
While VarTab(IndexTableauData, 1) <> ChampDate And VarTab(IndexTableauData, 0) <> ""
IndexTableauData = IndexTableauData + 1
Wend
'trouver la ligne correspondant à la machine
ChampMachine = Tab1(1)
While VarTab(IndexTableauData, 2) <> ChampMachine And VarTab(IndexTableauData, 0) <> ""
IndexTableauData = IndexTableauData + 1
Wend
'trouver la ligne correspondant à la machine
ChampLot = Tab1(2)
While VarTab(IndexTableauData, 3) <> ChampLot And VarTab(IndexTableauData, 0) <> ""
IndexTableauData = IndexTableauData + 1
Wend
'trouver la ligne correspondant à la machine
ChampProg = Tab1(3)
While VarTab(IndexTableauData, 4) <> ChampProg And VarTab(IndexTableauData, 0) <> ""
IndexTableauData = IndexTableauData + 1
Wend
'trouver la ligne correspondant à la machine
ChampConfig = Tab1(4)
While VarTab(IndexTableauData, 5) <> ChampConfig And VarTab(IndexTableauData, 0) <> ""
IndexTableauData = IndexTableauData + 1
Wend
'trouver la ligne correspondant à la machine
ChampFeeder = Tab1(6)
While VarTab(IndexTableauData, 6) <> ChampFeeder And VarTab(IndexTableauData, 0) <> ""
IndexTableauData = IndexTableauData + 1
Wend
'trouver la ligne correspondant à la machine
ChampRefCps = Tab1(7)
While VarTab(IndexTableauData, 7) <> ChampRefCps And VarTab(IndexTableauData, 0) <> ""
IndexTableauData = IndexTableauData + 1
Wend
'trouver la ligne correspondant à la machine
ChampFormeCps = Tab1(8)
While VarTab(IndexTableauData, 8) <> ChampFormeCps And VarTab(IndexTableauData, 0) <> ""
IndexTableauData = IndexTableauData + 1
Wend
End If
For i = 0 To UBound(Tab1)
Select Case i
Case 0
VarTab(IndexTableauData, i) = NomLigneProd
Case 1
VarTab(IndexTableauData, i) = Left(Tab1(0), 10)
Case 2 To 5
VarTab(IndexTableauData, i) = Tab1(i - 1)
Case 6 To 8
VarTab(IndexTableauData, i) = Tab1(i)
Case 9 To 11 'mise a jour du chemp Nbre cps pris
VarTab(IndexTableauData, i) = VarTab(IndexTableauData, i) + Tab1(i)
End Select
Next i
Case "Hebdo"
Case "Mensuel"
End Select
End Sub |
Partager