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

import des données txt vers excel

9 réponses
Avatar
plex
Bonjour à tous,
J'utilise l'hyperterminal pour rapatrier des données d'une machine vers un
fichier texte et ensuite j'importe les données txt vers excel.
Le problème est que les prochaines données rapatriées vers le fichier texte
vont se mettre a la file des précédentes et quand j'importe une nouvelle
fois je ramène les nouvelles données mais aussi les anciennes.
Connaissez vous un moyen pour que le fichier texte soit effacé a chaque fois
par exemple quand les données sont importeées vers excel ?

merci pour vos réponses

9 réponses

Avatar
MichDenis
Bonjour,

Pour vider un fichier texte, tu peux utiliser cette petite macro
que tu affectes à un bouton de commande émanant de la barre
d'outils formulaire dès que tu as terminé ton importation.

Dans la procédure : "C:UsersDMDocumentsGrosTest.txt"
représente le chemin et le nom du fichier texte à "vider".
'---------------------------------
Sub test()
Dim X As Long
X = FreeFile
Open "C:UsersDMDocumentsGrosTest.txt" For Output As #X
Print #X, ""
Close #X
End Sub
'---------------------------------



"plex" a écrit dans le message de groupe de discussion :

Bonjour à tous,
J'utilise l'hyperterminal pour rapatrier des données d'une machine vers un
fichier texte et ensuite j'importe les données txt vers excel.
Le problème est que les prochaines données rapatriées vers le fichier texte
vont se mettre a la file des précédentes et quand j'importe une nouvelle
fois je ramène les nouvelles données mais aussi les anciennes.
Connaissez vous un moyen pour que le fichier texte soit effacé a chaque fois
par exemple quand les données sont importeées vers excel ?

merci pour vos réponses
Avatar
lolo
salut
je suppose que tu veux récupérer les données d'un appareil
il existe un ocx(mscomm32) pour çà qui te permet de rapatrier tes données
directement dans excel sans passer par hyperterminal un peu compliquer mais
super intéressant
si tu veux plus d'info je peux t'envoyer un tuto que j'ai fait sur ce sujet
avec un exemple concret c'était pour mon boulot
@+



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

Bonjour à tous,
J'utilise l'hyperterminal pour rapatrier des données d'une machine vers un
fichier texte et ensuite j'importe les données txt vers excel.
Le problème est que les prochaines données rapatriées vers le fichier
texte vont se mettre a la file des précédentes et quand j'importe une
nouvelle fois je ramène les nouvelles données mais aussi les anciennes.
Connaissez vous un moyen pour que le fichier texte soit effacé a chaque
fois par exemple quand les données sont importeées vers excel ?

merci pour vos réponses





Avatar
plex
Oui c'est interessant, si tu peux m'envoyer le tuto ce serait sympa, je ne
sais pas si ça correspond à mes besoins, car il s'agit de tirer des infos
d'une machine de pesage qui mets en mémoire les données de pesage 14000
données avec heures, date, n° de pesée, poids net , tare et plein d'autres
choses encore.
Je dois pouvoir rapatrier tout ça dans excel et surtout il faut faire simple
pour le client.

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

salut
je suppose que tu veux récupérer les données d'un appareil
il existe un ocx(mscomm32) pour çà qui te permet de rapatrier tes données
directement dans excel sans passer par hyperterminal un peu compliquer
mais super intéressant
si tu veux plus d'info je peux t'envoyer un tuto que j'ai fait sur ce
sujet avec un exemple concret c'était pour mon boulot
@+



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

Bonjour à tous,
J'utilise l'hyperterminal pour rapatrier des données d'une machine vers
un fichier texte et ensuite j'importe les données txt vers excel.
Le problème est que les prochaines données rapatriées vers le fichier
texte vont se mettre a la file des précédentes et quand j'importe une
nouvelle fois je ramène les nouvelles données mais aussi les anciennes.
Connaissez vous un moyen pour que le fichier texte soit effacé a chaque
fois par exemple quand les données sont importeées vers excel ?

merci pour vos réponses









Avatar
plex
Sinon l'astuce de Michdenis est propre aussi.

Merci à tous les 2

"MichDenis" a écrit dans le message de news:
OfMOU$
Bonjour,

Pour vider un fichier texte, tu peux utiliser cette petite macro
que tu affectes à un bouton de commande émanant de la barre
d'outils formulaire dès que tu as terminé ton importation.

Dans la procédure : "C:UsersDMDocumentsGrosTest.txt"
représente le chemin et le nom du fichier texte à "vider".
'---------------------------------
Sub test()
Dim X As Long
X = FreeFile
Open "C:UsersDMDocumentsGrosTest.txt" For Output As #X
Print #X, ""
Close #X
End Sub
'---------------------------------



"plex" a écrit dans le message de groupe de
discussion :

Bonjour à tous,
J'utilise l'hyperterminal pour rapatrier des données d'une machine vers un
fichier texte et ensuite j'importe les données txt vers excel.
Le problème est que les prochaines données rapatriées vers le fichier
texte
vont se mettre a la file des précédentes et quand j'importe une nouvelle
fois je ramène les nouvelles données mais aussi les anciennes.
Connaissez vous un moyen pour que le fichier texte soit effacé a chaque
fois
par exemple quand les données sont importeées vers excel ?

merci pour vos réponses



Avatar
plex
Bonjour a tous,
j'ai déja une macro sur excel pour rapatrier les données, j'appelle la 2eme
macro en même temps pour n'avoir qu'un bouton, mais si j'appuie 2 fois, j'ai
une erreur 7 qui apparait, c'est normal puisque le fichier de données est
maintenant vide.
Comment solutionner ce problème en gardant à l'esprit qu'il faut faire
simple pour l'opérateur, donc une seule commande.

'Macros à modifier en fonction de l'emplacement des fichiers

Sub extraction_données()
'
' extraction_données Macro
' Macro enregistrée le 23/07/2009
'
'
Range("A5:J50000").Select
Selection.ClearContents
Range("A5").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:Desktoppesées sacs.txt", Destination _
:=Range("A5"))
.Name = "pesées sacs_47"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:úlse
Call vidage_données
End With
End Sub


Sub vidage_données() ' vidage fichier de données .txt
Dim X As Long
X = FreeFile
Open "C:Desktoppesées sacs.txt" For Output As #X
Print #X, ""
Close #X
End Sub

Merci pour le coupe de main


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

Bonjour à tous,
J'utilise l'hyperterminal pour rapatrier des données d'une machine vers un
fichier texte et ensuite j'importe les données txt vers excel.
Le problème est que les prochaines données rapatriées vers le fichier
texte vont se mettre a la file des précédentes et quand j'importe une
nouvelle fois je ramène les nouvelles données mais aussi les anciennes.
Connaissez vous un moyen pour que le fichier texte soit effacé a chaque
fois par exemple quand les données sont importeées vers excel ?

merci pour vos réponses





Avatar
MichDenis
Si tu utilises cette méthode pour vider ton fichier,
'---------------------------------
Sub test()
Dim X As Long
X = FreeFile
Open "C:UsersDMDocumentsGrosTest.txt" For Output As #X
Print #X, ""
Close #X
End Sub
'---------------------------------

Tu peux utiliser ceci en début de procédure pour tester si le fichier
est vide ou non :
'--------------------------
Sub taMacro()
Dim Fichier As String
Fichier = "C:UsersDMDocumentsGrosTest.txt"
If EstVide(Fichier) = True Then Exit Sub
'sinon exécution de ton code
'ton code
End Sub
'--------------------------
'----------------------------------------------
Function EstVide(Fichier As String) As Boolean
Dim X As Long, Temp As String
X = FreeFile
Open Fichier For Binary Access Read As #X
Temp = String(LOF(X), Chr(0))
Get #X, , Temp
X = Asc(Left(Temp, 1))
Close #X
If Temp = vbCrLf Then EstVide = True
End Function
'----------------------------------------------



"plex" a écrit dans le message de groupe de discussion :

Bonjour à tous,
J'utilise l'hyperterminal pour rapatrier des données d'une machine vers un
fichier texte et ensuite j'importe les données txt vers excel.
Le problème est que les prochaines données rapatriées vers le fichier texte
vont se mettre a la file des précédentes et quand j'importe une nouvelle
fois je ramène les nouvelles données mais aussi les anciennes.
Connaissez vous un moyen pour que le fichier texte soit effacé a chaque fois
par exemple quand les données sont importeées vers excel ?

merci pour vos réponses
Avatar
plex
c'est très fort, je teste demain..

merci de ton aide

"MichDenis" a écrit dans le message de news:
%23$
Si tu utilises cette méthode pour vider ton fichier,
'---------------------------------
Sub test()
Dim X As Long
X = FreeFile
Open "C:UsersDMDocumentsGrosTest.txt" For Output As #X
Print #X, ""
Close #X
End Sub
'---------------------------------

Tu peux utiliser ceci en début de procédure pour tester si le fichier
est vide ou non :
'--------------------------
Sub taMacro()
Dim Fichier As String
Fichier = "C:UsersDMDocumentsGrosTest.txt"
If EstVide(Fichier) = True Then Exit Sub
'sinon exécution de ton code
'ton code
End Sub
'--------------------------
'----------------------------------------------
Function EstVide(Fichier As String) As Boolean
Dim X As Long, Temp As String
X = FreeFile
Open Fichier For Binary Access Read As #X
Temp = String(LOF(X), Chr(0))
Get #X, , Temp
X = Asc(Left(Temp, 1))
Close #X
If Temp = vbCrLf Then EstVide = True
End Function
'----------------------------------------------



"plex" a écrit dans le message de groupe de
discussion :

Bonjour à tous,
J'utilise l'hyperterminal pour rapatrier des données d'une machine vers un
fichier texte et ensuite j'importe les données txt vers excel.
Le problème est que les prochaines données rapatriées vers le fichier
texte
vont se mettre a la file des précédentes et quand j'importe une nouvelle
fois je ramène les nouvelles données mais aussi les anciennes.
Connaissez vous un moyen pour que le fichier texte soit effacé a chaque
fois
par exemple quand les données sont importeées vers excel ?

merci pour vos réponses



Avatar
MichDenis
Cette ligne de code :
X = Asc(Left(Temp, 1))
ne doit pas faire partie de la procédure !
il y a eu égarement ... ;-))


"MichDenis" a écrit dans le message de groupe de discussion :
#$
Si tu utilises cette méthode pour vider ton fichier,
'---------------------------------
Sub test()
Dim X As Long
X = FreeFile
Open "C:UsersDMDocumentsGrosTest.txt" For Output As #X
Print #X, ""
Close #X
End Sub
'---------------------------------

Tu peux utiliser ceci en début de procédure pour tester si le fichier
est vide ou non :
'--------------------------
Sub taMacro()
Dim Fichier As String
Fichier = "C:UsersDMDocumentsGrosTest.txt"
If EstVide(Fichier) = True Then Exit Sub
'sinon exécution de ton code
'ton code
End Sub
'--------------------------
'----------------------------------------------
Function EstVide(Fichier As String) As Boolean
Dim X As Long, Temp As String
X = FreeFile
Open Fichier For Binary Access Read As #X
Temp = String(LOF(X), Chr(0))
Get #X, , Temp
X = Asc(Left(Temp, 1))
Close #X
If Temp = vbCrLf Then EstVide = True
End Function
'----------------------------------------------



"plex" a écrit dans le message de groupe de discussion :

Bonjour à tous,
J'utilise l'hyperterminal pour rapatrier des données d'une machine vers un
fichier texte et ensuite j'importe les données txt vers excel.
Le problème est que les prochaines données rapatriées vers le fichier texte
vont se mettre a la file des précédentes et quand j'importe une nouvelle
fois je ramène les nouvelles données mais aussi les anciennes.
Connaissez vous un moyen pour que le fichier texte soit effacé a chaque fois
par exemple quand les données sont importeées vers excel ?

merci pour vos réponses
Avatar
plex
je viens de tester ce soit ça marche nickel, merci michdenis du coup de main


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

Bonjour à tous,
J'utilise l'hyperterminal pour rapatrier des données d'une machine vers un
fichier texte et ensuite j'importe les données txt vers excel.
Le problème est que les prochaines données rapatriées vers le fichier
texte vont se mettre a la file des précédentes et quand j'importe une
nouvelle fois je ramène les nouvelles données mais aussi les anciennes.
Connaissez vous un moyen pour que le fichier texte soit effacé a chaque
fois par exemple quand les données sont importeées vers excel ?

merci pour vos réponses