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
|
Function traitementFichier()
Const ForWriting = 8 ' 8 Signifie que l'on va écrire les données à la suite
datej = replace(date,"/","")
fichierComp = resultDossier & "\" & fichier
fichierCSV = "P:\Scripts\band raz\bandeRAZ_" & datej & ".csv"
Set oFs = CreateObject("Scripting.FileSystemObject")
Set oFiles = oFs.GetFolder(resultDossier).Files
'Ouverture et lecture du fichier
set ficSes = oFs.OpenTextFile(fichierComp)
'Ouverture pour écriture du fichier csv
Set ficCSV = oFs.OpenTextFile(fichierCSV, ForWriting,true)
'récupération d'un tableau de x lignes totalité du fichier
ContenuLgnFic = split(ficSes.ReadAll,vbnewline)
'Récupère le nombre de ligne dans un fichier
nbLgnFic = ficSes.Line -1
'fermeture du fichier
ficSes.close
'boucle permettant de calculer le nombre de caractère pour chaque valeur
For t = 1 to Len(droite)
CodAscii = asc(mid(droite,t,1))
if CodAscii = 32 then Esp = Esp + 1
if CodAscii = 39 then Gui = Gui + 1
if CodAscii = 46 then Dot = Dot + 1
if CodAscii = 40 then ParOuv = ParOuv + 1
if CodAscii = 41 then ParFer = ParFer + 1
if CodAscii = 233 then ascaig = ascaig + 1
if CodAscii = 232 then ascgrav = ascgrav + 1
if CodAscii >= 65 and CodAscii <= 90 then LtrMA = LtrMA + 1
if CodAscii >= 97 and CodAscii <= 122 then LtrMi = LtrMi + 1
Next
'renvoi le nombre de caractère
nbreCaractere = Esp+Gui+LtrMA+LtrMi+Dot+ParOuv+ParFer+ascgrav+ascaig
'renvoi le nombre de caractères sans espace
nbCaSanEsp = nbreCaractere - Esp
'msgbox droite
cptt = 0
do while flagg = 0
'on parcours le fichier par la fin puisque les valeurs à récupérer sont majoritairement situé à la fin du fichier
for o = ubound(ContenuLgnFic) to ubound(ContenuLgnFic)-nbLgnFic Step -1
'si la valeur dans le fichier *.ini est égale au n caractère du fichier
if droite = left(ContenuLgnFic(o),nbreCaractere) then
'on supprime les espaces de la chaine de caractère
suppEspace=replace(ContenuLgnFic(o)," ","")
'on supprime les caractères de gauche afin de garder la valeur
result = replace(suppEspace,left(suppEspace,nbCaSanEsp),"")
'si après la valeur il y a un "E", on le supprime
if Instr(result,"E") then
result = replace(result,right(result,1),"")
end if
'msgbox result
exit do
end if
next
if cptt = nbLgnFic then
flagg = 1
result = "0"
'msgbox result
end if
cptt = cptt + 1
loop
For Each oFiles In oFiles
message = result & ";"
ficCSV.write (message)
next
ficCSV.write VbNewLine
ficCSV.close
End Function |
Partager