Bonjour,
Je souhaite réaliser une macro pour extraire des données de fichiers log au format .txt
Le fichier .txt liste différents paramètres toutes les 2 secondes qui terminent par une balise (ici <CR><LF>)
Ceux ci sont mis en forme, avec le nom du paramètre suivis de sa valeur, séparé par " : "
Jusqu'ici ça va, j'ai réussi avec l'enregistrement de macro à créer une transformation, puis a copier les noms de chaque paramètre dans une deuxième feuille, en en-tête de colonne.
Pour cela je parcours le premier "log" et je récupère les noms, que je colle dans la deuxième feuille, à la 1ere ligne jusqu'à rencontrer la balise <CR><LF>
Sheets("txt").Select
Range("A1").Select
Selection.Copy
Sheets("données").Select
Range("A1").Select
ActiveSheet.Paste
Sheets("txt").Select
ActiveCell.Offset(1, 0).Select
Do Until ActiveCell = "<CR><LF>"
Application.CutCopyMode = False
Selection.Copy
Sheets("données").Select
ActiveCell.Offset(0, 1).Select
ActiveSheet.Paste
Sheets("txt").Select
ActiveCell.Offset(1, 0).Select
Loop
Maintenant j'aurai souhaité récupérer les valeurs associées à chaque paramètre, et les remettre en colonnes dans la deuxième feuille.
les soucis :
les noms de paramètres peuvent changer entre 2 logs (mais reste les même dans un log donné)
De même, le nombre de paramètres peux changer entre deux logs
La durée du log est très variable, de quelques minutes (donc quelques centaines de ligne) à quelques heures (plusieurs milliers de lignes).
Je pensais parcourir la première colonne, et copier ensuite les valeurs de la deuxième au bon endroit... mais pas évident...
Pour l'instant j'utilise la fonction 'filtre' : je choisi un paramètre, et copie/colle l'ensemble de la plage affichée. Mais cela peut vite devenir fastidieux.
Il me restera une mise en forme a faire ensuite (retirer les unités si il y en a entre autre) pour pouvoir tracer des graphiques.
Une idée?