Sub maMacro()
' maMacro Macro
' Macro enregistr
Dim tab1() As String
Dim tab2() As String
Dim i As Integer
Dim J As Integer
Dim K As Integer
Dim L As Integer
Dim tmp1 As Integer
Dim tmp2 As Integer
Dim duree As Integer
Dim total As Integer
Dim appEx As Excel.Application
Dim wbEx As Excel.Workbook 'classeur
Dim wsEx As Excel.Worksheet ' Feuille
' initialisation
total = 0
' ouverture
Set appEx = CreateObject("Excel.Application")
Workbooks.OpenText Filename:="C:\Documents and Settings\stage2\Bureau\Copie de 2009test\04\Ordinateurs\MSa350p3.txt", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True
Set wbEx = appExcel.ActiveWorkbook
Set wsEx = wbEx.ActiveSheet
'parcours du fichier excel par ligne afin de supprimer les lignes avec un D au debut, C en fin de Fichier, et tous les autes cas
i = 1
While Not Range("L" & i & "").Value = ""
if( Range("L" & i & "").value = "D" and (i mod 2 ) = 0)
Rows(i & ":" & i).Delete xlUp 'suppression de la ligne
End If
if( Range("L" & i & "").value ="C" and (i mod 2 ) <> 0)
Rows(i & ":" & i).Delete xlUp 'suppression de la ligne end if
End If
i = i + 1
Wend
' calcul des heures de connexion
For(j=1 to (i-1))
tab1 = Split(Range("J" $ j $ "").value, ":")
tab2= Split(Range("J" $ (j+1) $ "").value, ":")
tmp1= (val(tab1[0])*3600) + (val(tab1[1])*60) + (val(tab1[0])*60) +val(tab1[2])
tmp2= (val(tab2[0])*3600) + (val(tab2[1])*60) + (val(tab2[0])*60) +val(tab2[2])
duree = temp2 - temp1
If(duree >0)
' conversion du temps au bon format
J = duree Mod 3600
K = duree / 3600
L = J / 60
m = J Mod 60
Range("M" $ (j+1) $ "").value = k & ":" & l ":" & m
End If
Next
' calcul du total de la durée
For(j=1 to i)
If(Range("M" $ j $ "").value <> "" )
total = total + Range("M" $ j $ "").value
End If
Next
' range le total dans la cellule i+1
Range("M" $ i+1 $ "").value = total
'sauvegarde du fichier excel
wbEx.SaveAs Filename = "C:\nomFichier.xls", FileFormat:=xlNormal
End Sub