J'aimerais créer une macro me permettant de traiter ce fichier et de le mettre au format .csv sous la forme suivanteFri Jul 2 11:09:11 2010
- Page: 1
S:SAVINESSV5_001:ne1696MS 3.0 Remote Inventory
Board User Label :r01sr1/board#01
Board Location :
Board Type : ESC
ALCATEL Company : ASHB
CLEI Code : WMUCA2KBAA
Unit Part Number : 3AL86661ACAA02
Software Part Number: 3AL95155AAAA02
Serial Number : YP1002085E5
Unit Type : ESC
Factory Identifier : YP
Date Identifier : 00 - Date of final test
Date : 10/02/24
Operator Data : --------------------------------
------------------------------------------------------------------------------
Board User Label :r01sr1/board#03
Board Location :
Board Type : OMDX8100_M_L1_XS_NOSPV
ALCATEL Company : ASHB
CLEI Code : WMD5H0KCAA
Unit Part Number : 3AL86615AAAF01
Software Part Number: --------------
Serial Number : YP1008071D9
Unit Type : OMDX8100
Factory Identifier : YP
Date Identifier : 00 - Date of final test
Date : 10/02/28
Operator Data : --------------------------------
------------------------------------------------------------------------------
/r01sr1/board#01;S:SAVINESSV5_001;;ESC;3AL86661AC;AA02;YP1002085E5;Fri Jul 2 11:09:11 2010
/r01sr1/board#03;S:SAVINESSV5_001;;OMDX8100_M_L1_XS_NOSPV;3AL86615AA;AF01;YP1008071D9;Fri Jul 2 11:09:11 2010
uploadRemoteInventory started at 2010/07/01 06:17:19 on <MARSL_MANOSQUE_0001>
USER LABEL : MARSL_MANOSQUE_0001/r01sr1/board#01
LOCATION NAME :
ELEMENT IDENTIFICATION
ALCATEL company : AITA
Unit type : ESC
Unit part number : 3AL86661ABAA03
Software part number : 3AL95155AAAA02
CLEI code : WMUCA2JBAA
MANUFACTURING INFORMATION
Manufacturing plant : EZ
Serial number : EZ074533943
Date (00) : 07/12/05
OPERATOR INVENTORY DATA
----------------------------------------------
USER LABEL : MARSL_MANOSQUE_0001/r01sr1/board#02
LOCATION NAME :
ELEMENT IDENTIFICATION
ALCATEL company : AITA
Unit type : OMDX8100
Unit part number : 3AL86615ABAE01
Software part number : --------------
CLEI code : WMD5H0LCAA
MANUFACTURING INFORMATION
Manufacturing plant : EZ
Serial number : EZ081932136
Date (00) : 08/05/15
OPERATOR INVENTORY DATA
----------------------------------------------
/r01sr1/board#01;S:SAVINESSV5_001;;ESC;3AL86661AC;AA02;YP1 002085E5;Fri Jul 2 11:09:11 2010
Merci d'avance pour le temps que tu passes à résoudre mon soucis/r01sr1/board#01;MARSL_MANOSQUE_0001;;ESC;3AL86661AB;AA03;EZ074533943;07/12/05
J'espère que tout est bon....
3AL86625ABAA03
1AB196370006
/r01sr1/board#01;MARSL_MANOSQUE_0001;;ESC;3AL86661AB;AA03; EZ074533943;07/12/05
En sachant que le chapitre était celui-ci:/r01sr1sl08/daughter#01;MARSL_MANOSQUE_0001;;S16_1__D;1AB196370006;;336210073908021;07/09/27
USER LABEL : MARSL_MANOSQUE_0001/r01sr1sl08/daughter#01
LOCATION NAME :
ELEMENT IDENTIFICATION
ALCATEL company : AITA
Unit type : S16_1__D
Unit part number : 1AB196370006
Software part number : FTM-3125C-L15E
CLEI code : ----------
MANUFACTURING INFORMATION
Manufacturing plant : ----
Serial number : 336210073908021
Date (00) : 07/09/27
OPERATOR INVENTORY DATA
----------------------------------------------
En tout cas merci beaucoup pour le boulot que tu réalise
l'enregistrement de toutes les données dans un seul et même fichier
Sub lireFichier_ri()
Dim Ligne As String
Dim LePath As String
Dim Fich As String
Dim Flag As Boolean
Dim Tblo(0 To 7)
Application.ScreenUpdating = False
Columns(1).Clear
LePath = ThisWorkbook.Path & "\" ' à adapter
Fich = Dir(LePath & "*.ri")
Do While Fich <> ""
Open Fich For Input As #1
[A65000].End(xlUp)(2) = Fich
Do While Not EOF(1)
Line Input #1, Ligne
If Not Flag Then
Tblo(1) = Mid(Ligne, InStr(1, Ligne, "<") + 1, InStr(1, Ligne, ">") - InStr(1, Ligne, "<") - 1)
Tblo(7) = CDate(Mid(Ligne, InStr(1, Ligne, "at") + 3, 10))
Flag = True
ElseIf Trim(Ligne) Like "USER LABEL*" Then
Tblo(0) = "/" & Trim(Right(Ligne, Len(Ligne) - InStr(1, Ligne, "/")))
ElseIf Trim(Ligne) Like "LOCATION NAME*" Then
Tblo(2) = Trim(Right(Ligne, Len(Ligne) - InStr(1, Ligne, ":")))
ElseIf Trim(Ligne) Like "Unit type*" Then
Tblo(3) = Trim(Right(Ligne, Len(Ligne) - InStr(1, Ligne, ":")))
ElseIf Trim(Ligne) Like "Unit part number*" Then
If Mid(Ligne, InStr(1, Ligne, ":") + 2, 3) = "3AL" Then
Tblo(4) = Left(Trim(Right(Ligne, Len(Ligne) - InStr(1, Ligne, ":"))), 10)
Tblo(5) = Trim(Right(Ligne, 4))
Else
Tblo(4) = Trim(Right(Ligne, Len(Ligne) - InStr(1, Ligne, ":")))
Tblo(5) = ""
End If
ElseIf Trim(Ligne) Like "Serial number*" Then
Tblo(6) = Trim(Right(Ligne, Len(Ligne) - InStr(1, Ligne, ":")))
[A65000].End(xlUp)(2) = Join(Tblo, ";")
End If
Loop
Close #1
Fich = Dir
Flag = False
Loop
Columns("A").AutoFit
End Sub
Quel est le problème ?Open Fich For Input As #1
Sachant que j'ai copié la macro dans le même dossier que les fichier .riErreur d'exécution '53':
Fichier introuvable
Do While Fich <> ""
Et pour info on a aussiFich="2100_1.ri"
LePath="C:\TEST\"