Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récupération de données dans un fichier .txt

5 réponses
Avatar
XclaudeX
Bonjour,

J'aimerai pouvoir dans un fichier Txt, récupérer des données sur des lignes
commençant par un préfixe bien défini et à des positions dans la ligne qui
sont fixes.

Voici un exemple du fichier :.

# DEBUT sauvegarde du: 24/02/2005 à: 15h56
$GPAAM,V,V,0.20,N,PIGNON*35
$GPAPB,A,A,0.00,R,N,V,V,267,M,PIGNON,267,M,267,M*29
$GPBWC,144615,4853.49,N,00143.35,W,267,T,267,M,6.505,N,PIGNON*02
$GPGGA,144615,4853.8402,N,00133.5150,W,1,05,01.7,-0016,M,50,M,,*7B
$GPGSA,A,3,01,03,11,20,28,,,,,,,,02.9,01.7,02.4*03
$GPGSV,3,1,09,01,32,123,40.1,03,19,149,46.4,07,06,314,00.0,11,72,288,41.4*77
$GPGSV,3,2,09,14,34,070,00.0,19,48,151,00.0,20,33,219,42.3,22,12,049,00.0*76
$GPGSV,3,3,09,28,28,295,33.1,,,,,,,,,,,,*51
$GPMSK,281.5,M,200,M,*7C
$GPVTG,000,T,,M,000.0,N,000.0,K*7E
$GPAAM,V,V,0.20,N,PIGNON*35
$GPAPB,A,A,0.00,R,N,V,V,267,M,PIGNON,267,M,267,M*29
$GPBWC,144617,4853.49,N,00143.35,W,267,T,267,M,6.505,N,PIGNON*00
$GPGGA,144618,4853.8393,N,00133.5147,W,1,05,01.7,-0014,M,50,M,,*7D

Seules les lignes au préfixe $GPGGA intéresse, et dans chacune de ces
lignes, les données commençant en 15 position pour se terminer à la 25
position et de la 26 à la 37e position.

Ceci est en fait une tentative d'import des données d'un gps (norme NMEA)
qui me permettrai d'enregistrer ma route dans une base Access, de calculer
la distance entre différents points et le cap.

D'avance merci

Claude

5 réponses

Avatar
Laurent
Bonsoir Claude

J'importerais ce fichier texte dans une table temporaire, en tenant compte
de la virgule comme séparateur.

Puis j'utiliserais une requête basée sur l'expression "$GPGGA" pour pouvoir
filtrer uniquement les enregistrements susceptibles de t'intéresser.

A+
Laurent

"XclaudeX" wrote in message
news:421df81b$0$19318$
Bonjour,

J'aimerai pouvoir dans un fichier Txt, récupérer des données sur des
lignes

commençant par un préfixe bien défini et à des positions dans la ligne qui
sont fixes.

Voici un exemple du fichier :.

# DEBUT sauvegarde du: 24/02/2005 à: 15h56
$GPAAM,V,V,0.20,N,PIGNON*35
$GPAPB,A,A,0.00,R,N,V,V,267,M,PIGNON,267,M,267,M*29
$GPBWC,144615,4853.49,N,00143.35,W,267,T,267,M,6.505,N,PIGNON*02
$GPGGA,144615,4853.8402,N,00133.5150,W,1,05,01.7,-0016,M,50,M,,*7B
$GPGSA,A,3,01,03,11,20,28,,,,,,,,02.9,01.7,02.4*03

$GPGSV,3,1,09,01,32,123,40.1,03,19,149,46.4,07,06,314,00.0,11,72,288,41.4*77


$GPGSV,3,2,09,14,34,070,00.0,19,48,151,00.0,20,33,219,42.3,22,12,049,00.0*76

$GPGSV,3,3,09,28,28,295,33.1,,,,,,,,,,,,*51
$GPMSK,281.5,M,200,M,*7C
$GPVTG,000,T,,M,000.0,N,000.0,K*7E
$GPAAM,V,V,0.20,N,PIGNON*35
$GPAPB,A,A,0.00,R,N,V,V,267,M,PIGNON,267,M,267,M*29
$GPBWC,144617,4853.49,N,00143.35,W,267,T,267,M,6.505,N,PIGNON*00
$GPGGA,144618,4853.8393,N,00133.5147,W,1,05,01.7,-0014,M,50,M,,*7D

Seules les lignes au préfixe $GPGGA intéresse, et dans chacune de ces
lignes, les données commençant en 15 position pour se terminer à la 25
position et de la 26 à la 37e position.

Ceci est en fait une tentative d'import des données d'un gps (norme NMEA)
qui me permettrai d'enregistrer ma route dans une base Access, de calculer
la distance entre différents points et le cap.

D'avance merci

Claude




Avatar
Ma Dalton
De plus, si il procède manuellement au moins une fois (sinon c'est plus
complexe à expliquer), il pourrait sélectionner les seuls champs à importer
et enregistrer le tout dans un modèle d'importation. Ainsi par VBA ou même
par macro, il pourra à l'avenir récupérer directement l'information
souhaitée, sans autre manoeuvre. Cela dit, pour sa sélection des lignes
débutant par "$GPCGA", il est vrai que la passe via une table temporaire et
une requête filtrante reste est incontournable.


"Laurent" a écrit dans le message de news:

Bonsoir Claude

J'importerais ce fichier texte dans une table temporaire, en tenant compte
de la virgule comme séparateur.

Puis j'utiliserais une requête basée sur l'expression "$GPGGA" pour
pouvoir
filtrer uniquement les enregistrements susceptibles de t'intéresser.

A+
Laurent

"XclaudeX" wrote in message
news:421df81b$0$19318$
Bonjour,

J'aimerai pouvoir dans un fichier Txt, récupérer des données sur des
lignes

commençant par un préfixe bien défini et à des positions dans la ligne
qui
sont fixes.

Voici un exemple du fichier :.

# DEBUT sauvegarde du: 24/02/2005 à: 15h56
$GPAAM,V,V,0.20,N,PIGNON*35
$GPAPB,A,A,0.00,R,N,V,V,267,M,PIGNON,267,M,267,M*29
$GPBWC,144615,4853.49,N,00143.35,W,267,T,267,M,6.505,N,PIGNON*02
$GPGGA,144615,4853.8402,N,00133.5150,W,1,05,01.7,-0016,M,50,M,,*7B
$GPGSA,A,3,01,03,11,20,28,,,,,,,,02.9,01.7,02.4*03

$GPGSV,3,1,09,01,32,123,40.1,03,19,149,46.4,07,06,314,00.0,11,72,288,41.4*77


$GPGSV,3,2,09,14,34,070,00.0,19,48,151,00.0,20,33,219,42.3,22,12,049,00.0*76

$GPGSV,3,3,09,28,28,295,33.1,,,,,,,,,,,,*51
$GPMSK,281.5,M,200,M,*7C
$GPVTG,000,T,,M,000.0,N,000.0,K*7E
$GPAAM,V,V,0.20,N,PIGNON*35
$GPAPB,A,A,0.00,R,N,V,V,267,M,PIGNON,267,M,267,M*29
$GPBWC,144617,4853.49,N,00143.35,W,267,T,267,M,6.505,N,PIGNON*00
$GPGGA,144618,4853.8393,N,00133.5147,W,1,05,01.7,-0014,M,50,M,,*7D

Seules les lignes au préfixe $GPGGA intéresse, et dans chacune de ces
lignes, les données commençant en 15 position pour se terminer à la 25
position et de la 26 à la 37e position.

Ceci est en fait une tentative d'import des données d'un gps (norme NMEA)
qui me permettrai d'enregistrer ma route dans une base Access, de
calculer
la distance entre différents points et le cap.

D'avance merci

Claude








Avatar
XclaudeX
Comment faire et aussi comment transformer les données au format texte en
format numérique ?

merci

"Ma Dalton" a écrit dans le message de news:

De plus, si il procède manuellement au moins une fois (sinon c'est plus
complexe à expliquer), il pourrait sélectionner les seuls champs à
importer et enregistrer le tout dans un modèle d'importation. Ainsi par
VBA ou même par macro, il pourra à l'avenir récupérer directement
l'information souhaitée, sans autre manoeuvre. Cela dit, pour sa
sélection des lignes débutant par "$GPCGA", il est vrai que la passe via
une table temporaire et une requête filtrante reste est incontournable.


"Laurent" a écrit dans le message de
news:
Bonsoir Claude

J'importerais ce fichier texte dans une table temporaire, en tenant
compte
de la virgule comme séparateur.

Puis j'utiliserais une requête basée sur l'expression "$GPGGA" pour
pouvoir
filtrer uniquement les enregistrements susceptibles de t'intéresser.

A+
Laurent

"XclaudeX" wrote in message
news:421df81b$0$19318$
Bonjour,

J'aimerai pouvoir dans un fichier Txt, récupérer des données sur des
lignes

commençant par un préfixe bien défini et à des positions dans la ligne
qui
sont fixes.

Voici un exemple du fichier :.

# DEBUT sauvegarde du: 24/02/2005 à: 15h56
$GPAAM,V,V,0.20,N,PIGNON*35
$GPAPB,A,A,0.00,R,N,V,V,267,M,PIGNON,267,M,267,M*29
$GPBWC,144615,4853.49,N,00143.35,W,267,T,267,M,6.505,N,PIGNON*02
$GPGGA,144615,4853.8402,N,00133.5150,W,1,05,01.7,-0016,M,50,M,,*7B
$GPGSA,A,3,01,03,11,20,28,,,,,,,,02.9,01.7,02.4*03

$GPGSV,3,1,09,01,32,123,40.1,03,19,149,46.4,07,06,314,00.0,11,72,288,41.4*77


$GPGSV,3,2,09,14,34,070,00.0,19,48,151,00.0,20,33,219,42.3,22,12,049,00.0*76

$GPGSV,3,3,09,28,28,295,33.1,,,,,,,,,,,,*51
$GPMSK,281.5,M,200,M,*7C
$GPVTG,000,T,,M,000.0,N,000.0,K*7E
$GPAAM,V,V,0.20,N,PIGNON*35
$GPAPB,A,A,0.00,R,N,V,V,267,M,PIGNON,267,M,267,M*29
$GPBWC,144617,4853.49,N,00143.35,W,267,T,267,M,6.505,N,PIGNON*00
$GPGGA,144618,4853.8393,N,00133.5147,W,1,05,01.7,-0014,M,50,M,,*7D

Seules les lignes au préfixe $GPGGA intéresse, et dans chacune de ces
lignes, les données commençant en 15 position pour se terminer à la 25
position et de la 26 à la 37e position.

Ceci est en fait une tentative d'import des données d'un gps (norme
NMEA)
qui me permettrai d'enregistrer ma route dans une base Access, de
calculer
la distance entre différents points et le cap.

D'avance merci

Claude












Avatar
Laurent
Utilise la fonction dbl(tonnombre). Ceci te permet d'utiliser des valeurs
comprises entre +/- 5.0E-324 et 1.8E+308.

A+
Laurent

"XclaudeX" wrote in message
news:421f2751$0$25054$
Comment faire et aussi comment transformer les données au format texte en
format numérique ?

merci

"Ma Dalton" a écrit dans le message de news:

De plus, si il procède manuellement au moins une fois (sinon c'est plus
complexe à expliquer), il pourrait sélectionner les seuls champs à
importer et enregistrer le tout dans un modèle d'importation. Ainsi par
VBA ou même par macro, il pourra à l'avenir récupérer directement
l'information souhaitée, sans autre manoeuvre. Cela dit, pour sa
sélection des lignes débutant par "$GPCGA", il est vrai que la passe via
une table temporaire et une requête filtrante reste est incontournable.


"Laurent" a écrit dans le message de
news:
Bonsoir Claude

J'importerais ce fichier texte dans une table temporaire, en tenant
compte
de la virgule comme séparateur.

Puis j'utiliserais une requête basée sur l'expression "$GPGGA" pour
pouvoir
filtrer uniquement les enregistrements susceptibles de t'intéresser.

A+
Laurent

"XclaudeX" wrote in message
news:421df81b$0$19318$
Bonjour,

J'aimerai pouvoir dans un fichier Txt, récupérer des données sur des
lignes

commençant par un préfixe bien défini et à des positions dans la ligne
qui
sont fixes.

Voici un exemple du fichier :.

# DEBUT sauvegarde du: 24/02/2005 à: 15h56
$GPAAM,V,V,0.20,N,PIGNON*35
$GPAPB,A,A,0.00,R,N,V,V,267,M,PIGNON,267,M,267,M*29
$GPBWC,144615,4853.49,N,00143.35,W,267,T,267,M,6.505,N,PIGNON*02
$GPGGA,144615,4853.8402,N,00133.5150,W,1,05,01.7,-0016,M,50,M,,*7B
$GPGSA,A,3,01,03,11,20,28,,,,,,,,02.9,01.7,02.4*03



$GPGSV,3,1,09,01,32,123,40.1,03,19,149,46.4,07,06,314,00.0,11,72,288,41.4*77






$GPGSV,3,2,09,14,34,070,00.0,19,48,151,00.0,20,33,219,42.3,22,12,049,00.0*76



$GPGSV,3,3,09,28,28,295,33.1,,,,,,,,,,,,*51
$GPMSK,281.5,M,200,M,*7C
$GPVTG,000,T,,M,000.0,N,000.0,K*7E
$GPAAM,V,V,0.20,N,PIGNON*35
$GPAPB,A,A,0.00,R,N,V,V,267,M,PIGNON,267,M,267,M*29
$GPBWC,144617,4853.49,N,00143.35,W,267,T,267,M,6.505,N,PIGNON*00
$GPGGA,144618,4853.8393,N,00133.5147,W,1,05,01.7,-0014,M,50,M,,*7D

Seules les lignes au préfixe $GPGGA intéresse, et dans chacune de ces
lignes, les données commençant en 15 position pour se terminer à la 25
position et de la 26 à la 37e position.

Ceci est en fait une tentative d'import des données d'un gps (norme
NMEA)
qui me permettrai d'enregistrer ma route dans une base Access, de
calculer
la distance entre différents points et le cap.

D'avance merci

Claude
















Avatar
3stone
Salut,

"XclaudeX"
| J'aimerai pouvoir dans un fichier Txt, récupérer des données sur des lignes
| commençant par un préfixe bien défini et à des positions dans la ligne qui
| sont fixes.
|
| Voici un exemple du fichier :.
|
| # DEBUT sauvegarde du: 24/02/2005 à: 15h56
| $GPAAM,V,V,0.20,N,PIGNON*35
[...]
|
| Seules les lignes au préfixe $GPGGA intéresse, et dans chacune de ces
| lignes, les données commençant en 15 position pour se terminer à la 25
| position et de la 26 à la 37e position.


Tu pourrais "nettoyer" le fichier avec une petite fonction,
pour ensuite l'importer dans une table...

'-----------------------------------------------------------
Function fnCleanTXT(sFileIN As String, sFileOUT)

Dim fOut As Integer, fIN As Integer, sTemp As String, sIN As String
Const conCode As String = "$GPGGA"

fIN = FreeFile: Open sFileIN For Input As #fIN
fOut = FreeFile: Open sFileOUT For Output As #fOut

Do
Line Input #fIN, sIN
If Left(sIN, 6) = conCode Then
sTemp = Mid(sIN, 15, 9) & ";" & Mid(sIN, 27, 10)
Print #fOut, sTemp
End If

Loop Until EOF(fIN)
Close #fOut, #fIN

End Function



PS : je te laisse ajuster les valeurs de "découpage" dans les 2 Mid(...)

--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw