import des données txt vers excel

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #19818231
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"
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
lolo
Le #19823831
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"
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





plex
Le #19834021
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"
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"
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









plex
Le #19834011
Sinon l'astuce de Michdenis est propre aussi.

Merci à tous les 2

"MichDenis" 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" 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



plex
Le #19843331
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"
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





MichDenis
Le #19844331
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"
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
plex
Le #19844601
c'est très fort, je teste demain..

merci de ton aide

"MichDenis" %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" 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



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


"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"
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
plex
Le #19844841
je viens de tester ce soit ça marche nickel, merci michdenis du coup de main


"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





Publicité
Poster une réponse
Anonyme