Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Sub ImportLog()
- Call RAZ
- 'Selection du fichier log
- nom = ActiveWorkbook.Name
- ChDrive Left(Sheets("Liste Pénalités").Cells(18, 13), InStr(Sheets("Liste Pénalités").Cells(18, 13), ":\")) 'Recupération de la lettre du lecteur
- ChDir Sheets("Liste Pénalités").Cells(18, 13) 'Recuperation du lien défini
- a = Application.GetOpenFilename("Log Files (*.log), *.log")
- Select Case TypeName(a)
- Case Is = "Boolean"
- Exit Sub
- Case Else
- Workbooks.OpenText Filename:=a, Origin:=xlMSDOS, _
- StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
- ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
- , Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
- TrailingMinusNumbers:=True
- End Select
- 'Import des données
- nom2 = ActiveWorkbook.Name
- Columns("A:B").Copy
- Windows(nom).Activate
- Sheets("logs").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
- Application.CutCopyMode = False
- Windows(nom).Activate
- Workbooks(nom2).Close
- 'Tri des logs
- 'Sheets("Liste Pénalités").Activate
- i = 1 'init compteur ligne logs
- j = 10 'init incrément ligne liste péna
- k = j 'init DT
- l = j 'init DSQ
- Do While Sheets("logs").Cells(i, 1) <> 0 'Boucle de check toutes les lignes du log
- '------------------Nom du serveur--------------
- If Sheets("logs").Cells(i, 1).Value Like "*Server name:*" Then 'récupération du nom du serv
- Sheets("Liste Pénalités").Cells(2, 3).Value = Mid(Sheets("logs").Cells(i, 1), InStr(Sheets("logs").Cells(i, 1), ": Server name:") + 14, 100) 'hachage du nom du serveur
- '------------------Nom de la course--------------
- ElseIf Sheets("logs").Cells(i, 1).Value Like "*: Name:*" Then 'récupération du nom du serv
- Sheets("Liste Pénalités").Cells(4, 3).Value = Mid(Sheets("logs").Cells(i, 1), InStr(Sheets("logs").Cells(i, 1), ": Name:") + 7, 100) 'hachage du nom de la course
- '------------------Nom du circuit--------------
- ElseIf Sheets("logs").Cells(i, 1).Value Like "*: Track:*" Then 'récupération du nom du circuit
- Sheets("Liste Pénalités").Cells(5, 3).Value = Mid(Sheets("logs").Cells(i, 1), InStr(Sheets("logs").Cells(i, 1), ": Track:") + 8, 100) 'hachage du nom du circuit
- '------------------Pénalité de course--------------
- ElseIf Sheets("logs").Cells(i, 1).Value Like "*RP_seconds*penalty*to*final*time:*" Then 'Listing des temps de péna
- 'Sheets("Liste Pénalités").Cells(j, 1).Value = Sheets("logs").Cells(i, 1) 'recopie de la ligne log correspondante (opt.)
- Sheets("Liste Pénalités").Cells(j, 2).Value = Mid(Sheets("logs").Cells(i, 1), _
- InStr(Sheets("logs").Cells(i, 1), "Driver ") + 7, _
- InStr(Sheets("logs").Cells(i, 1), " - GUID") - InStr(Sheets("logs").Cells(i, 1), "Driver ") - 7) 'hachage du nom du pilote
- Sheets("Liste Pénalités").Cells(j, 3).Value = Mid(Sheets("logs").Cells(i, 1), InStr(Sheets("logs").Cells(i, 1), "final time: ") + 12, 10) 'hachage du temps de péna
- Sheets("Liste Pénalités").Cells(j, 3).HorizontalAlignment = xlRight 'alignement de la cellule a droite
- j = j + 1 'incrément ligne liste péna
- '------------------Pénalité après course--------------
- ElseIf Sheets("logs").Cells(i, 1).Value Like "*RP_seconds*penalty*for*penalties*not*taken:*" Then 'Listing temps de péna pour péna pas prises
- 'Sheets("Liste Pénalités").Cells(j, 1).Value = Sheets("logs").Cells(i, 1) 'recopie de la ligne log correspondante (opt.)
- Sheets("Liste Pénalités").Cells(j, 2).Value = Mid(Sheets("logs").Cells(i, 1), _
- InStr(Sheets("logs").Cells(i, 1), "Driver ") + 7, _
- InStr(Sheets("logs").Cells(i, 1), " - GUID") - InStr(Sheets("logs").Cells(i, 1), "Driver ") - 7) 'hachage du nom du pilote
- Sheets("Liste Pénalités").Cells(j, 3).Value = Mid(Sheets("logs").Cells(i, 1), InStr(Sheets("logs").Cells(i, 1), "not taken: ") + 11, 10) 'hachage du temps de péna"
- Sheets("Liste Pénalités").Cells(j, 3).HorizontalAlignment = xlRight 'alignement de la cellule a droite
- j = j + 1 'incrément ligne liste péna
- '------------------Drivethrough--------------
- ElseIf Sheets("logs").Cells(i, 1).Value Like "*Msg:*RP_Drive*through*for*" Then 'Listing DT
- 'Sheets("Liste Pénalités").Cells(k, 4).Value = Sheets("logs").Cells(i, 1) 'recopie de la ligne log correspondante (opt.)
- Sheets("Liste Pénalités").Cells(k, 5).Value = Mid(Sheets("logs").Cells(i, 1), _
- InStr(Sheets("logs").Cells(i, 1), "Driver ") + 7, _
- InStr(Sheets("logs").Cells(i, 1), " - GUID") - InStr(Sheets("logs").Cells(i, 1), "Driver ") - 7) 'hachage du nom du pilote
- DTPilot = Sheets("Liste Pénalités").Cells(k, 5) 'Recuparation nom Pilote
- Call VerifDT(DTPilot, k) 'appel fonction de vérif si DT fait ou non
- k = k + 1 'incrément ligne DT
- '------------------Disqualifié--------------
- ElseIf Sheets("logs").Cells(i, 1).Value Like "*RP_Disqualified!*" Then 'Listing DSQ
- 'Sheets("Liste Pénalités").Cells(l, 7).Value = Sheets("logs").Cells(i, 1) 'recopie de la ligne log correspondante (opt.)
- Sheets("Liste Pénalités").Cells(l, 8).Value = Mid(Sheets("logs").Cells(i, 1), _
- InStr(Sheets("logs").Cells(i, 1), "Driver ") + 7, _
- InStr(Sheets("logs").Cells(i, 1), " - GUID") - InStr(Sheets("logs").Cells(i, 1), "Driver ") - 7) 'hachage du nom du pilote
- Sheets("Liste Pénalités").Cells(l, 9).Value = Mid(Sheets("logs").Cells(i, 1), InStr(Sheets("logs").Cells(i, 1), "Msg: RP_Disqualified! ") + 22, 100) 'hachage du motif
- Sheets("Liste Pénalités").Cells(l, 9).HorizontalAlignment = xlRight 'alignement de la cellule a droite
- l = l + 1 'incrément ligne DSQ
- End If
- i = i + 1 'incrément lecture ligne log
- Loop
- Call MiseEnPageFinale(j, k, l)
- 'REINIT POS CURSEUR
- Sheets("logs").Select
- Sheets("logs").Cells(1, 1).Select
- Sheets("Liste Pénalités").Select
- Sheets("Liste Pénalités").Cells(2, 3).Select
- End Sub
- Function VerifDT(DTPilot, k)
- ivDT = 1 'initialisation du compteur pour les lignes de log
- Do While Sheets("logs").Cells(ivDT, 1) <> 0
- If Sheets("logs").Cells(ivDT, 1).Value Like "*RP_Drive*through*taken*" And InStr(Sheets("logs").Cells(ivDT, 1), DTPilot) > 0 Then 'Recherche match ligne péna prise + pilote correspondant
- With Sheets("Liste Pénalités").Cells(k, 6) 'si péna faite : V + fond vert
- .Value = "V"
- .Interior.Color = 5296274
- .HorizontalAlignment = xlCenter
- End With
- Exit Do
- End If
- ivDT = ivDT + 1
- Loop
- If IsEmpty(Sheets("Liste Pénalités").Cells(k, 6)) Then 'si péna pas faite : X + fond rouge
- With Sheets("Liste Pénalités").Cells(k, 6)
- .Value = "X"
- .HorizontalAlignment = xlCenter
- .Interior.Color = 255
- End With
- End If
- '--------------To do-----------
- '- Addition des temps si pena course + après course (si dans un monde il y a)
- '- Finir de commenter le code car dans 6mois je comprendrai plus rien à ce que j'ai fait
- '- Detail des pénalités
- End Function
- Sub RAZ()
- Sheets("logs").Columns("A").ClearContents
- Sheets("Liste Pénalités").Select
- Chdef = Sheets("Liste Pénalités").Cells(18, 13) 'Conservation du Chemin par défaut
- With Sheets("Liste Pénalités").Columns("A:M")
- .UnMerge
- .Borders.LineStyle = xlLineStyleNone
- .ClearContents 'Suppression du contenu des cellules
- .Interior.Pattern = xlNone 'Supprime le remplissage
- .HorizontalAlignment = xlLeft
- .VerticalAlignment = xlCenter
- With .Font
- .ThemeColor = xlThemeColorLight1
- .TintAndShade = 0
- .Name = "Calibri"
- .Size = 11
- End With
- End With
- Rows("1:1000").RowHeight = 15.75
- Columns("A").ColumnWidth = 12
- Columns("B").ColumnWidth = 18
- Columns("C").ColumnWidth = 17
- Columns("D").ColumnWidth = 14
- Columns("E").ColumnWidth = 18
- Columns("F").ColumnWidth = 16
- Columns("G").ColumnWidth = 11
- Columns("H").ColumnWidth = 20
- Columns("I").ColumnWidth = 35
- Columns("J").ColumnWidth = 11
- Columns("K").ColumnWidth = 11
- Columns("L").ColumnWidth = 11
- Columns("M").ColumnWidth = 50
- Call INIT(Chdef)
- 'REINIT POS CURSEUR
- Sheets("Liste Pénalités").Select
- Sheets("Liste Pénalités").Cells(2, 3).Select
- End Sub
- Sub INIT(Chdef)
- If Chdef = 0 Then 'test du chemin renseigné si vide ou non
- Chdef = "C:\"
- End If
- Sheets("Liste Pénalités").Cells(18, 13) = Chdef
- '---------Entête---------OK
- With Range(Sheets("Liste Pénalités").Cells(2, 3), Sheets("Liste Pénalités").Cells(3, 11))
- .Merge
- .HorizontalAlignment = xlCenter
- .Borders.LineStyle = xlContinuous
- .Borders.Weight = xlMedium
- .Font.Size = 18
- .Font.Bold = True
- End With
- With Range(Sheets("Liste Pénalités").Cells(4, 3), Sheets("Liste Pénalités").Cells(4, 11))
- .Merge
- .HorizontalAlignment = xlCenter
- .Borders.LineStyle = xlContinuous
- .Borders.Weight = xlMedium
- End With
- With Range(Sheets("Liste Pénalités").Cells(5, 3), Sheets("Liste Pénalités").Cells(5, 11))
- .Merge
- .HorizontalAlignment = xlCenter
- .Borders.LineStyle = xlContinuous
- .Borders.Weight = xlMedium
- End With
- '---------Chemin par défaut---------OK
- With Range(Sheets("Liste Pénalités").Cells(18, 11), Sheets("Liste Pénalités").Cells(18, 12))
- .Merge
- .Value = "Chemin par défaut"
- .Borders.LineStyle = xlContinuous
- End With
- With Sheets("Liste Pénalités").Cells(18, 13)
- .Value = Chdef
- .Borders.LineStyle = xlContinuous
- End With
- '---------Temps de péna---------OK
- With Range(Sheets("Liste Pénalités").Cells(8, 2), Sheets("Liste Pénalités").Cells(8, 3))
- .Merge
- .HorizontalAlignment = xlCenter
- .Borders.LineStyle = xlContinuous
- .Borders.Weight = xlMedium
- .Value = "Temps de pénalité"
- .Interior.Color = 49407
- End With
- With Sheets("Liste Pénalités").Cells(9, 2)
- .Value = "Pilote"
- .Interior.ThemeColor = xlThemeColorAccent1
- .Interior.TintAndShade = 0.399975585192419
- End With
- With Sheets("Liste Pénalités").Cells(9, 3)
- .Value = "Temps supp."
- .Interior.ThemeColor = xlThemeColorAccent1
- .Interior.TintAndShade = 0.399975585192419
- .HorizontalAlignment = xlRight
- End With
- With Range(Sheets("Liste Pénalités").Cells(9, 2), Sheets("Liste Pénalités").Cells(9, 3))
- .Borders.LineStyle = xlContinuous
- .Borders.Weight = xlMedium
- .Borders(xlInsideVertical).Weight = xlThin
- End With
- Sheets("Liste Pénalités").Cells(10, 2) = "None"
- With Range(Sheets("Liste Pénalités").Cells(10, 2), Sheets("Liste Pénalités").Cells(10, 3))
- .Borders.LineStyle = xlContinuous
- .Borders.Weight = xlMedium
- .Borders(xlInsideVertical).Weight = xlThin
- End With
- '---------DriveThrough---------OK
- With Range(Sheets("Liste Pénalités").Cells(8, 5), Sheets("Liste Pénalités").Cells(8, 6))
- .Merge
- .HorizontalAlignment = xlCenter
- .Borders.LineStyle = xlContinuous
- .Borders.Weight = xlMedium
- .Value = "DriveThrough"
- .Interior.Color = 49407
- End With
- With Sheets("Liste Pénalités").Cells(9, 5)
- .Value = "Pilote"
- .Interior.ThemeColor = xlThemeColorAccent1
- .Interior.TintAndShade = 0.399975585192419
- End With
- With Sheets("Liste Pénalités").Cells(9, 6)
- .Value = "Effectué"
- .Interior.ThemeColor = xlThemeColorAccent1
- .Interior.TintAndShade = 0.399975585192419
- .HorizontalAlignment = xlRight
- End With
- With Range(Sheets("Liste Pénalités").Cells(9, 5), Sheets("Liste Pénalités").Cells(9, 6))
- .Borders.LineStyle = xlContinuous
- .Borders.Weight = xlMedium
- .Borders(xlInsideVertical).Weight = xlThin
- End With
- Sheets("Liste Pénalités").Cells(10, 5) = "None"
- With Range(Sheets("Liste Pénalités").Cells(10, 5), Sheets("Liste Pénalités").Cells(10, 6))
- .Borders.LineStyle = xlContinuous
- .Borders.Weight = xlMedium
- .Borders(xlInsideVertical).Weight = xlThin
- End With
- '--------------DSQ-------------OK
- With Range(Sheets("Liste Pénalités").Cells(8, 8), Sheets("Liste Pénalités").Cells(8, 9))
- .Merge
- .HorizontalAlignment = xlCenter
- .Borders.LineStyle = xlContinuous
- .Borders.Weight = xlMedium
- .Value = "Disqualifié"
- .Interior.Color = 49407
- End With
- With Sheets("Liste Pénalités").Cells(9, 8)
- .Value = "Pilote"
- .Interior.ThemeColor = xlThemeColorAccent1
- .Interior.TintAndShade = 0.399975585192419
- End With
- With Sheets("Liste Pénalités").Cells(9, 9)
- .Value = "Raison"
- .Interior.ThemeColor = xlThemeColorAccent1
- .Interior.TintAndShade = 0.399975585192419
- .HorizontalAlignment = xlRight
- End With
- With Range(Sheets("Liste Pénalités").Cells(9, 8), Sheets("Liste Pénalités").Cells(9, 9))
- .Borders.LineStyle = xlContinuous
- .Borders.Weight = xlMedium
- .Borders(xlInsideVertical).Weight = xlThin
- End With
- Sheets("Liste Pénalités").Cells(10, 8) = "None"
- With Range(Sheets("Liste Pénalités").Cells(10, 8), Sheets("Liste Pénalités").Cells(10, 9))
- .Borders.LineStyle = xlContinuous
- .Borders.Weight = xlMedium
- .Borders(xlInsideVertical).Weight = xlThin
- End With
- End Sub
- Sub MiseEnPageFinale(j, k, l)
- Sheets("Liste Pénalités").Select
- With Range(Sheets("Liste Pénalités").Cells(10, 2), Sheets("Liste Pénalités").Cells(j - 1, 3))
- .Borders.LineStyle = xlContinuous
- .Borders.Weight = xlMedium
- .Borders(xlInsideVertical).Weight = xlThin
- .Borders(xlInsideHorizontal).Weight = xlThin
- End With
- With Range(Sheets("Liste Pénalités").Cells(10, 5), Sheets("Liste Pénalités").Cells(k - 1, 6))
- .Borders.LineStyle = xlContinuous
- .Borders.Weight = xlMedium
- .Borders(xlInsideVertical).Weight = xlThin
- .Borders(xlInsideHorizontal).Weight = xlThin
- End With
- With Range(Sheets("Liste Pénalités").Cells(10, 8), Sheets("Liste Pénalités").Cells(l - 1, 9))
- .Borders.LineStyle = xlContinuous
- .Borders.Weight = xlMedium
- .Borders(xlInsideVertical).Weight = xlThin
- .Borders(xlInsideHorizontal).Weight = xlThin
- End With
- 'Ajout "+ Xs" sur pena
- m = 10
- Do While m < j
- If Sheets("Liste Pénalités").Cells(m, 3) <> 0 Then
- Sheets("Liste Pénalités").Cells(m, 3) = "+ " & Sheets("Liste Pénalités").Cells(m, 3) & "s"
- End If
- m = m + 1
- Loop
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement