YLKweb, vu l'image de ton post #49, ton fichier texte de données est sur 6 chiffres et non pas sur 5
comme l'indiquent pourtant clairement tes posts #35 & 37 ‼
Qui plus est la première phrase de mon post #40 l'annonce pourtant clairement :
Envoyé par
Marc L
Voici mon script adapté au code de cinq chiffres
Donc mes scripts suivant restent sur cette base de cinq chiffres comme tu l'avais demandé …
En relisant ton post #35, le classeur de conversion est lui aussi sur 5 chiffres, la source du problème initial !
Voici un script convertissant les fichiers en entrée de 5 chiffres (données + classeur de conversion)
vers un fichier texte en sortie sur 6 chiffres :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Const REP = "D:\Tests4Noobs\Data\"
SRC = REP & "Data .txt": TBL = REP & "Conversion .xls"
With CreateObject("Scripting.FileSystemObject")
If .FileExists(SRC) And .FileExists(TBL) Then
With CreateObject("Excel.Application")
SPQ = .Workbooks.Open(TBL).Worksheets(1).Cells(1).CurrentRegion.Value
.Quit
End With
Set Dict = CreateObject("Scripting.Dictionary")
For R = 1 To UBound(SPQ): Dict.Item(SPQ(R, 1)) = SPQ(R, 2): Next
With .OpenTextFile(SRC, 1): SPQ = Split(.ReadAll, vbCrLf): .Close: End With
With .OpenTextFile(REP & "Result.txt", 2, True)
For R = 0 To UBound(SPQ) + (SPQ(UBound(SPQ)) = "")
.WriteLine "0" & SPQ(R) & vbCrLf & Dict.Item(Left(SPQ(R), 5)) & Mid(SPQ(R), 6)
Next
.Close
End With
Dict.RemoveAll: Set Dict = Nothing
End If
End With |
Allez, cette fois c'est la bonne ! Sauf si tu restes sur un fichier de données de 6 chiffres ? …
_____________________________________________________________________________________________________
Merci de cliquer sur
pour chaque message ayant aidé puis sur
pour clore cette discussion …
_____________________________________________________________________________________________________
La perfection est atteinte non pas quand il n’y a plus rien à ajouter, mais quand il n’y a plus rien à retirer ! (Antoine de St Exupéry)
Partager