Traitement de fichier

  • Initiateur de la discussion Initiateur de la discussion Djilow
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

Djilow

Guest
Bonjour
Étant novice dans les macro je viens vous demander de l'aide
J'ai un fichier 2000_1.ri contenant des infos de ce style
Fri 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 : --------------------------------
------------------------------------------------------------------------------
J'aimerais créer une macro me permettant de traiter ce fichier et de le mettre au format .csv sous la forme suivante
Code:
/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
Quelqu'un aurait il une idée à me proposer sachant que mon fichier comporte x ligne
Merci d'avance
 
Re : Traitement de fichier

Excel est pas content
Y me dit
Erreur d'exécution '13':
Incompatibilité de type
Et en mode pas à pas sa correspond à la ligne
Tblo(7) = CDate(Right(LaDate, 2) & "/" & Mid(LaDate, 4, 2) & "/" & Left(LaDate, 2))

Edit: de plus l'erreur n'intervient pas sur la lecture du premier fichier mais sur un autre
 
Dernière modification par un modérateur:
Re : Traitement de fichier

Ok,

j'avais voulu mettre la date "française", on va garder la date "anglaise"

Peut-être un fichier "pas comme les autres", au niveau de la date...

modifie les lignes comme ceci :

Code:
                ElseIf Trim(Ligne) Like "Date*" Then
                    Tblo(7) = Trim(Right(Ligne, Len(Ligne) - InStr(1, Ligne, ":") - 1))
                    [A65000].End(xlUp)(2) = Join(Tblo, ";")
                End If
 
Re : Traitement de fichier

Alors petite info qui n'est pas cool ...
Ton code fonctionne bien
Le problème vient d'un fichier remonté dans lequel les données sont erronées, je m'explique
Voici le chapitre où se trouve l'erreur
USER LABEL : MONTIE😀MED3_0001/r01sr1/board#23
LOCATION NAME :
ELEMENT IDENTIFICATION
ALCATEL company : ASHB
Unit type : SPVM+OW
Unit part number : 3AL86606ABAG02
Software part number : SNOSSA2.0
CLEI code : WM2C1Y7KAA
MANUFACTURING INFORMATION
Manufacturing plant : YP
Serial number : YP100404D1F
Date (00) : 10//2/2/
OPERATOR INVENTORY DATA
----------------------------------------------
Est-il possible de parer ce genre de défaut ?

Edit: Dans plus d'un fichier on retrouve ce beug...
Serait-il possible de récupérer la date tel quel sans faire de modification ?
Cela simplifierais le boulot et de toute faaçon ce n'est pas une donnée très importante
 
Dernière modification par un modérateur:
Re : Traitement de fichier

Je viens de m'apercevoir que si j'ouvre le fichier avec un bon vieux notepad++ ma date est bien sous la forme 10/02/16
Il semblerais que l'ami Excel mettent en place par défaut un format date
 
Re : Traitement de fichier

Re-,

mon dernier code le fait, non?

Code:
               ElseIf Trim(Ligne) Like "Date*" Then
                    Tblo(7) = Trim(Right(Ligne, Len(Ligne) - InStr(1, Ligne, ":") - 1))
                    [A65000].End(xlUp)(2) = Join(Tblo, ";")
                End If

sinon, en supposant que c'est toujours le même type d'erreur, essaie ainsi ;

Code:
                ElseIf Trim(Ligne) Like "Date*" Then
                    LaDate = Trim(Right(Ligne, Len(Ligne) - InStr(1, Ligne, ":") - 1))
                    If Not IsNumeric(Mid(LaDate, 4, 1)) Then Mid(LaDate, 4, 1) = 0
                    If Not IsNumeric(Mid(LaDate, 8, 1)) Then Mid(LaDate, 8, 1) = 0
                    Tblo(7) = CDate(Right(LaDate, 2) & "/" & Mid(LaDate, 4, 2) & "/" & Left(LaDate, 2))
                    [A65000].End(xlUp)(2) = Join(Tblo, ";")
                End If
 
Re : Traitement de fichier

Merci bhbh cette fois on est arrivé à destination
Merci pour ta patience, ton aide, et le temps passé à résoudre mon problème
Cette fois-ci ta macro fait totalement ce que je voulais faire
Encore un grand merci à toi 😉
A bientôt 😎

Edit:Le temps d'exécution pour 950fichiers est 6,484375 😀
 
Dernière modification par un modérateur:
Re : Traitement de fichier

je viens de voir un truc dans la modification que tu avais faites hier

Code:
If Mid(Ligne, InStr(1, Ligne, ":") + 2, 3) = "3AL" Or _
                            Mid(Ligne, InStr(1, Ligne, ":") + 2, 3) = "3AL" Then
Est-ce normal que l'on est deux fois "3AL" ne devrait on pas avoir une fois un "8DG"
Pourrais-tu m'explique le fonctionnement de la ligne ??
 
Re : Traitement de fichier

Bonjour,

En ce 14 juillet, étant de défilé, ce matin, je me suis dit, "Il n'a pas eu le temps de le voir...."

Effectivement, à un moment donné, après nos 600 000 échanges, et bien plus de corrections, j'ai vu ce "Ctrl + C, Ctrl +m", synonyme de "Copier/Merder".....

J'ai modifié, dans ma réponse, mais tu avais saisi avant ma modif.....(cf #33)(ce fil est le #70)

So, désolé, c'était une erreur de ma part.....

(Euh, maintenant, que je t'ai fait gagné un mois de vacance, tu vas pas non plus t'en plaindre..........^)

Et je m'excuse d'autant plus, c'est que j'ai persisté....

Dans les codes que je t'ai fourni, j'avais "omis", de le rectifier....

Effectivement, tu le remplaces, le "3AL", par "8DG"........(dans la 2ème ligne)

Désolé de t'avoir fait perdre du temps.....
 
Dernière édition:
Re : Traitement de fichier

Tu n'as pas a être désolé ^^
C'est plutôt moi qui devrait m'excuser de t'avoir fait passer autant de temps pour subvenir à mon besoin.
En tout cas merci ta macro me permet vraiment de gagner un temps considérable.
Bonne continuation à toi et à une prochaine peut-être 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour