Macro excel pour importattion txt
ASTROGHOST
-
Bidouilleu_R Messages postés 1209 Statut Membre -
Bidouilleu_R Messages postés 1209 Statut Membre -
Bonjour à tous,
J'aurais besoin d'un petit coup de main pour la creation d'une macro excel.
Je fais de l'astronomie et j'extrais des données de mes fichiers JPG à l'aide d'un logiciel
qui me genère un fichier txt : nom du fichier : rawdata.txt
Le fichier se presente sous cette forme :
======== J:\DCIM\100CANON/IMG_8114.JPG
CreateDate: 2000:01:01 00:00:49
ExposureTime: 120
ISO: 2000
CameraTemperature: 25 C
======== J:\DCIM\100CANON/IMG_8114.CR2
CreateDate: 2000:01:01 00:00:49
ExposureTime: 120
ISO: 2000
CameraTemperature: 25 C
======== J:\DCIM\100CANON/IMG_8115.JPG
CreateDate: 2000:01:01 00:04:50
ExposureTime: 2
ISO: 2000
CameraTemperature: 31 C
======== J:\DCIM\100CANON/IMG_8115.CR2
CreateDate: 2000:01:01 00:04:50
ExposureTime: 2
ISO: 2000
CameraTemperature: 31 C
======== J:\DCIM\100CANON/IMG_8116.JPG
CreateDate: 2000:01:01 00:04:56
ExposureTime: 120
ISO: 2000
CameraTemperature: 31 C
======== J:\DCIM\100CANON/IMG_8116.CR2
CreateDate: 2000:01:01 00:04:56
ExposureTime: 120
ISO: 2000
CameraTemperature: 31 C
======== J:\DCIM\100CANON/IMG_8117.JPG
CreateDate: 2000:01:01 00:08:58
ExposureTime: 2
ISO: 2000
CameraTemperature: 33 C
Le nombre de ligne dependra du nombre de photos analysées.
Je voudrais donc importer ces données dans une feuille excel avec une macro , qui me classerait les differentes dates d'acquisition , la durée d'exposition , la valeur ISO et la temperature.
A partir de ces tableaux , j'aimerais pourvoir effectuer le calcul de la temperature moyenne de la session , et un classement des ces temperatures dans un ordre decroissant dans ce style :
Stats for CameraTemperature...
-----------------------------------
39 C, Count: 16
38 C, Count: 12
36 C, Count: 8
25 C, Count: 6
31 C, Count: 4
33 C, Count: 4
34 C, Count: 4
41 C, Count: 4
26 C, Count: 2
et le top pouvoir tracer une courbe de temperature de la session en fonction de la date/heure d'acquisition
Un de vous serait il capable de me générer cette macro , car je n'y connais vraiment rien en programmation
Merci à tous
François
J'aurais besoin d'un petit coup de main pour la creation d'une macro excel.
Je fais de l'astronomie et j'extrais des données de mes fichiers JPG à l'aide d'un logiciel
qui me genère un fichier txt : nom du fichier : rawdata.txt
Le fichier se presente sous cette forme :
======== J:\DCIM\100CANON/IMG_8114.JPG
CreateDate: 2000:01:01 00:00:49
ExposureTime: 120
ISO: 2000
CameraTemperature: 25 C
======== J:\DCIM\100CANON/IMG_8114.CR2
CreateDate: 2000:01:01 00:00:49
ExposureTime: 120
ISO: 2000
CameraTemperature: 25 C
======== J:\DCIM\100CANON/IMG_8115.JPG
CreateDate: 2000:01:01 00:04:50
ExposureTime: 2
ISO: 2000
CameraTemperature: 31 C
======== J:\DCIM\100CANON/IMG_8115.CR2
CreateDate: 2000:01:01 00:04:50
ExposureTime: 2
ISO: 2000
CameraTemperature: 31 C
======== J:\DCIM\100CANON/IMG_8116.JPG
CreateDate: 2000:01:01 00:04:56
ExposureTime: 120
ISO: 2000
CameraTemperature: 31 C
======== J:\DCIM\100CANON/IMG_8116.CR2
CreateDate: 2000:01:01 00:04:56
ExposureTime: 120
ISO: 2000
CameraTemperature: 31 C
======== J:\DCIM\100CANON/IMG_8117.JPG
CreateDate: 2000:01:01 00:08:58
ExposureTime: 2
ISO: 2000
CameraTemperature: 33 C
Le nombre de ligne dependra du nombre de photos analysées.
Je voudrais donc importer ces données dans une feuille excel avec une macro , qui me classerait les differentes dates d'acquisition , la durée d'exposition , la valeur ISO et la temperature.
A partir de ces tableaux , j'aimerais pourvoir effectuer le calcul de la temperature moyenne de la session , et un classement des ces temperatures dans un ordre decroissant dans ce style :
Stats for CameraTemperature...
-----------------------------------
39 C, Count: 16
38 C, Count: 12
36 C, Count: 8
25 C, Count: 6
31 C, Count: 4
33 C, Count: 4
34 C, Count: 4
41 C, Count: 4
26 C, Count: 2
et le top pouvoir tracer une courbe de temperature de la session en fonction de la date/heure d'acquisition
Un de vous serait il capable de me générer cette macro , car je n'y connais vraiment rien en programmation
Merci à tous
François
1 réponse
-
un petit code que l'on peut améliorer je sais... ;-)
je nai pas mis la ligne de titre et si tu veux rajouter des données
il suffit de changer Lig=2 en Lig xxx pour commencer à la ligne xxx
A+
Sub extrait_txt() Dim Fichier As String Dim Ligne1 As String Dim Ligne2 As String Dim Ligne3 As String Dim Ligne4 As String Dim Ligne5 As String Dim Col As Integer Dim Lig As Integer Fichier = "C:\data\rawdata.txt" ' ici tu mets le chemin 'et le nom de ton fichier Lig = 2 ' on commence en A2 Col = 1 Open Fichier For Input As #1 While Not EOF(1) Input #1, Ligne1 Input #1, Ligne2 Input #1, Ligne3 Input #1, Ligne4 Input #1, Ligne5 'récupère le nom de la photo While Left(Ligne1, 1) <> "/" Ligne1 = Right(Ligne1, Len(Ligne1) - 1) Wend Cells(Lig, Col) = Right(Ligne1, Len(Ligne1) - 1) Col = Col + 1 ' la date madate = Mid(Ligne2, 13, 10) Cells(Lig, Col) = Replace(madate, ":", "/", 1) Col = Col + 1 ' l'heure Cells(Lig, Col) = Right(Ligne2, 8) Col = Col + 1 'le temps d'exposition While Left(Ligne3, 1) <> ":" Ligne3 = Right(Ligne3, Len(Ligne3) - 1) Wend Cells(Lig, Col) = Right(Ligne3, Len(Ligne3) - 2) Col = Col + 1 ' la sensibilité While Left(Ligne4, 1) <> ":" Ligne4 = Right(Ligne4, Len(Ligne4) - 1) Wend Cells(Lig, Col) = Right(Ligne4, Len(Ligne4) - 2) Col = Col + 1 'la température While Left(Ligne5, 1) <> ":" Ligne5 = Right(Ligne5, Len(Ligne5) - 1) Wend Cells(Lig, Col) = Mid(Ligne5, 2, Len(Ligne5) - 2) Col = 1 Lig = Lig + 1 Wend Close #1 End Sub