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
|
Sub Macro_encours()
Dim strLigne As String
'Dim Tab_log(5) As Variant
Dim ligne_log As Integer
Dim TypeLog As String
Dim intFic2 As Integer
Dim detailmission As String
intFic2 = FreeFile
'Dim Chercherob As Integer
' ------------- OUVRE FICHIER LOG AVEC Mise En Forme -------------
Workbooks.OpenText Filename:=ThisWorkbook.Path & "\fichier_analyse", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, Other:=True, OtherChar:="|", Local:=True, Semicolon:=False, Fieldinfo:=Array(1, 5)
Application.ActiveSheet.Columns(2).SpecialCells(xlCellTypeBlanks).EntireRow.Delete 'suppression des lignes non cohérente (retour à la ligne sans heures)
i = 1 'ligne du fichier log à lire
'i = 2419
' ------------- CREATION DU FICHIER TEXTE -------------
Nomfichiertext = "Analyse " & Replace(Replace(Now, "/", "-"), ":", ".") & ".txt"
Open ThisWorkbook.Path & "\" & Nomfichiertext For Append As intFic2
' ------------- CREATION DU FICHIER TEXTE -------------
Do Until Application.ActiveSheet.Cells(i, 3) = ""
Code_log = Replace(Cells(i, 3), " ", "")
If Code_log = "0012" Then
'_____ prise info départ mission _____
Code_log = Replace(Cells(i, 3), " ", "")
detailmission = Cells(i, 5)
rob_deb = Chercherob(detailmission)
Datedeb = Cells(i, 1) + Cells(i, 2)
Nom_mission = Split(detailmission, "'")(1)
'_____ analyse de la ligne en cours ____
i_navigation = i + 1
Code_log = Replace(Cells(i_navigation, 3), " ", "")
detailmission = Cells(i_navigation, 5)
rob_encours = Chercherob(detailmission)
Do
Code_log = Replace(Cells(i_navigation, 3), " ", "")
detailmission = Cells(i_navigation, 5)
rob_encours = Chercherob(detailmission)
If rob_deb = rob_encours Then
Select Case Code_log
Case Is = "0001" 'Step1 ou step2
DateLog = Cells(i_navigation, 1) + Cells(i_navigation, 2)
Destination = Mid(detailmission, InStr(1, detailmission, "at ", 1) + 3, 10)
If InStr(1, detailmission, "pickElevated", 1) <> 0 Then stepmission1 = Destination Else stepmission3 = Destination
Case Is = "0002" 'Step1 ou step2
DateLog = Cells(i_navigation, 1) + Cells(i_navigation, 2)
Destination = Mid(detailmission, InStr(1, detailmission, "at ", 1) + 3, 10)
If InStr(1, detailmission, "pickElevated", 1) <> 0 Then stepmission1 = Destination Else stepmission3 = Destination
Case Is = "0003" 'Step3 ou step4
DateLog = Cells(i_navigation, 1) + Cells(i_navigation, 2)
Destination = Mid(detailmission, InStr(1, detailmission, "at ", 1) + 3, 10)
If InStr(1, detailmission, "dropElevated", 1) <> 0 Then stepmission4 = Destination Else stepmission2 = Destination
Case Is = "0004" 'Step3 ou step4
DateLog = Cells(i_navigation, 1) + Cells(i_navigation, 2)
Destination = Mid(detailmission, InStr(1, detailmission, "at ", 1) + 3, 10)
If InStr(1, detailmission, "dropElevated", 1) <> 0 Then stepmission4 = Destination Else stepmission2 = Destination
Case Is = "005" 'Statut de la mission (Done/Cancel)
Statut_mission = "Cancel"
Case Is = "0010" 'fin
Datefin = Cells(i_navigation, 1) + Cells(i_navigation, 2)
' ligne_log = ligne_log + 1
dureemission = Datefin - Datedeb
num_mission = Split(detailmission, " ")(3)
'rob_fin = "rob" & Right(DetailMission, 3)
Exit Do
Case Else
' [ Continue Do ]
' [ Exit Do ]
End Select
i_navigation = i_navigation + 1
Else
i_navigation = i_navigation + 1
End If
Loop Until Code_log = "0010" And rob_deb = rob_encours
'Debug.Print Nom_mission & ";" & rob_deb & ";" & num_mission & ";" & Datedeb & ";" & Datefin & ";" & dureemission & ";" & stepmission1 & ";" & stepmission2 & ";" & stepmission3 & ";" & stepmission4
Print #intFic2, Nom_mission & ";" & rob_deb & ";" & num_mission & ";" & Datedeb & ";" & Datefin & ";" & dureemission & ";" & stepmission1 & ";" & stepmission2 & ";" & stepmission3 & ";" & stepmission4
'Vider variable
Else
End If
i = i + 1
' [ Continue Do ]
' [ Exit Do ]
num_mission = 0
Datefin = 0
stepmission1 = 0
stepmission2 = 0
stepmission3 = 0
stepmission4 = 0
Loop
End Sub |
Partager