Copie automatique fichier text vers fichier Exel

Fermé
mirage23 Messages postés 112 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 31 janvier 2016 - 11 déc. 2012 à 06:38
 eriiic - 21 déc. 2012 à 15:17
Bonjour,



j'ai un logiciel meterologiques qui me genere des données chaque seconde sur un fichier text. une fichier text contient les données d'une journée, donc chaque jour ce logiciel me crée un nouveau fichier text. ce dont j'ai besoin c'est qu'a chaque fois qu'un fichier text est crée , ses données se copie automatiquement dans fichier Exel actif.

donc ce que je devrai avoir sur le fichier Exel actif : des données géneré chaque seconde qui viennent se rajouté dans mon fichié Exel, des que la journée est achevée, et que ce fichier doit copié les donnée d'un fichié text , celui ci se remet a jour en effassant les données du jour précédent et en ajoutant les données du jour qui suit. " ce fichier Exel doit copié en simultané les données génerées par le logiciel dans le fichié text".

merci de m'aider.
A voir également:

28 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié par f894009 le 11/12/2012 à 08:34
Bonjour,

Il faudrait un exemple du fichier TXT cree. sur ce lien: https://www.cjoint.com/
Copiez le lien cree sur votre prochain post.
Le nom du fichier TXT est fixe ou nom??

Merci

A+
0
http://cjoint.com/?3LljlCGZvcW voici un exemple de fichier text et je precise que les fichiers text n'ont pas le meme nom
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
11 déc. 2012 à 09:25
Re,

je precise que les fichiers text n'ont pas le meme nom mais encore??

a20120105.txt ----> pouvez vous detailler le nom du fichier??
0
celui que je vous ai envoyé porte le nom de a20120105.txt les autres portent d'autre nom genre a20120106.txt ,a20120107.txt ..... tous ces fichiers la sont contenu dans un dossier par exemple "données août 2012" ou "données septembre 2012" ....
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
11 déc. 2012 à 17:27
Re bonjour,

donc ce que je devrai avoir sur le fichier Exel actif : vous aurez le fichier de la veille, d'apres ce que vous avez ecrit!!!! Vous ne pouvez pas avoir les donnees en temps reel, car le fichier utilise par votre logiciel de meteo ne pourra peut-etre pas etre accessible par un autre programme.

A+
0
mirage23 Messages postés 112 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 31 janvier 2016
11 déc. 2012 à 19:20
dans mon projet le principe c'est d'avoir du temp reel car ces fichiers proviennent d'un autre PC relié à distance contenant ce logiciel . par contre si ya pas moyen d'avoir du temp reel j'aimerai au moin avoir quelque chose a exploiter, du moin pour le debut . J'aimerai savoir comment faire pour copier automatiquement les données de la veille svp sur mon fichier Exel actif. merci bien
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié par f894009 le 11/12/2012 à 19:44
Re,

Quel EXCEL avez-vous???

autre PC relié à distance contenant ce logiciel Ces fichiers sont dans quel PC???
0
mirage23 Messages postés 112 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 31 janvier 2016
11 déc. 2012 à 20:13
le dossier ou ecrit ce logiciel est partagé avec mon pc, la version d'Exel est 2007 mais neaumoins je souhaiterai avoir une reponse concernant la version 2007 et 2010 si c'est possible car ce pc est dans mon entreprise et mon entreprise pourait installé la version 2010 prochainnement.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié par f894009 le 12/12/2012 à 07:30
Bonjour,

Le fichier de la journee en cours a quel nom, le voyez vous augmenter en taille ??

EXCEL2007 ira avec EXCEL2010

Votre logiciel de meteo peut-il etre parametre pour creer des fichiers a l'heure ou 10 minutes??????

Pourriez mettre deux ou trois fichiers txt complets (compresses) a dispo??

Merci
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
12 déc. 2012 à 08:42
Re,

un exemple, adaptez le chemin du fichier, ici il est en local. Adaptez aussi le temps pour le prochain import fichier

Jour J: ici 3 secondes
https://www.cjoint.com/?BLmiHAFngb0

Jour J-1: parametrez prochain import a 24:00:00
https://www.cjoint.com/?BLmiN1yAQE3

A+
0
Bonjour,

Merci pour l'exemple.J'ai adapté le chemin du fichier texte (nouveau chemin C:\_Docs_Prog_Excel\Excel_a_traiter\Meteo )et ça ne s'exécute pas,le tableau était rempli puis plus rien.voici le message d'erreur qui s'affiche:

erreur d'exécution '1004':

impossible de trouver le fichier texte pour l'actualisation de cette plage de données externes

assurez-vous que le texte n'a été ni déplacé ni renommé et réessayez
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
12 déc. 2012 à 14:27
Re,

Avez vous mis un fichier TXT dans le repertoire de decembre et le fichier du 11 dans ce repertoire??????
0
Re,

Pour vous répondre;j'ai réessayé en créant un dossier nommé decembre contenant 2 fichiers TXT (meteo J,meteo J-1). Et le meme message d'erreur s'est affiché.

Merci pour votre patience,
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
12 déc. 2012 à 15:46
Re,
Le repertoire doit etre ce que vous avez ecrit dans mirage23 - 11 déc. 2012 à 17:11 et les Nom de fichier: a20121211.TXT et a20121212.TXT car les nom de repertoire et fichiers sont calcules suivant la regle que vous avez donne dans ce post du mirage23 - 11 déc. 2012 à 17:11

A+
0
Re,

s'il vous plait,je dois ne parametrer que cette ligne du code :
Chemin = "D:\_Docs_Prog_Excel\Excel_a_traiter\Meteo" ???

c'est ce que j'ai fait , et avec vos précisions pour les noms des fichiers et repertoire .

dites moi s'il y a la ligne suivante ou autre à paramétrer aussi

merci
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
12 déc. 2012 à 16:13
Re,
Chemin est a ecrire en fonction de l'endroit ou sont les repertoires donnees....
0
Re,

oui je l'ai changé,ma question est :est-ce que c'est le seul parametre a adapter dans tout le code ou y a-t-il autre chose à changer ??
0
Re,

J'ai enfin réussi à faire marcher le code en simulant des insertions dans le fichier texte du jour.
mais si je le laisse vide ;s'il n y a pas d'insertion ;il m'affiche un message d'erreur "mémoire insuffisante".Or j'aimerais qu'il affiche par défaut les données d'hier.En fait les 2 tableaux sont identiques(tableau d'hier n'affiche pas les données archivées comme il le devrait,mais il affiche les données insérées aujourd'hui)

Pourriez-vous m'indiquer ou doit etre le probleme?

Merci
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
12 déc. 2012 à 18:24
Re,

mais si je le laisse vide ; Pourquoi?? Normalement ce fichier existe ou pas, mais ne peut-etre vide!!!!

Pour afficher les donnees du jour precedent, si le fichier du jour en cours est inexistant, oblige a recalculer le mois en partant de la date du jour-1. Si le jour-1 est sur le mois precedent, il faut chercher dans le repertoire du mois precedent.

Pouvez-vous faire la programmation de cette evolution??

A+
0
Re,

Je suis débutante en VBA ,ceci dit j'essaie quand même et je vous tiens au courant du résultat.

Merci de m'avoir guidée,

A bientôt,
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié par f894009 le 12/12/2012 à 19:27
Demain Jeudi, je ne pourrai vous suivre qu'a partir de 12h.
Comment s'appelle votre logiceil de meteo??

A bientot
0
mirage23 Messages postés 112 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 31 janvier 2016
16 déc. 2012 à 17:43
Re,

j'ai un programme qui fait la rotation des cellules, la derniere ligne se retrouve premiere à chaque fait chaque instant donné. je me suis rendu compte que le logiciel meteo ecrit la nouvelle donnée en bas alors que moi je veux la voir en haut a chaque foie qu'il y'a une nouvelle donnée. donc je me suis dis si je pouvais comibiner la procedure qui fait la rotation avec celle que tu ma donner pour avoir le resultat que je veux? si c'est oui, comment faire ? ou ya t'il un moyen plus court?

voici la procedure qui fait la rotation:


Declare Function Beep Lib "kernel32" (ByVal Frequence As Long, ByVal Duree As Long) As Long


Sub LancementAutomatique()
Go = TimeSerial(Hour(Time), Minute(Time), Second(Time) + "3")
Application.OnTime Go, "LancementAutomatique"
Call Beep(500, 100)
Range(Range("A65536").End(xlUp), Range("A2").Offset(0, 48)).Cut
Range("A3").Select
ActiveSheet.Paste
Range(Range("A65536").End(xlUp), Range("A65536").End(xlUp).Offset(0, 48)).Cut
Range("A2").Select
ActiveSheet.Paste
End Sub


en fin pouvez vous me commenter votre prgramme pour que je puisse comprendre les differentes commandes que vous avez utilisé et pour savoir à quoi elles servent.

merci bien
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
16 déc. 2012 à 21:08
Bonjour,

le logiciel meteo ecrit la nouvelle donnée en bas alors que moi je veux la voir en haut Cet ordre d'ecriture est immuable.

Si vous voulez voir les donnees triees en ordre descendant (les donnees les plus recentes en partant du haut allant vers le bas) il suffit de rajouter le code pour inverser l'affichage.

en fin pouvez vous me commenter votre prgramme Je vous fais cela demain matin avec le code de tri inverse

A demain
0
mirage23 Messages postés 112 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 31 janvier 2016
16 déc. 2012 à 21:31
merci
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
17 déc. 2012 à 08:02
Bonjour,

fichier avec commentaires et tri descendant des donnees

https://www.cjoint.com/?BLrh6hnQWGn

Toujours avoir a l'idee qu'il y a un enregistreur de Macro pour vous aider a creer votre code, il ne fait pas tout, mais cela vous permettra de mieux avancer en programmation.

Bon courage
0
mirage23 Messages postés 112 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 31 janvier 2016
17 déc. 2012 à 12:19
je vous remerci pour l'aide que vous m'apportez, pour cette partie:

'Parametrage interval temps import: ici 3 secondes
Next_Scan = Now() + TimeValue("00:00:03")
Application.OnTime Next_Scan, "Import_Fichier"

est-ce que je peux le parametrer à l'ordre du milliseconde?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
17 déc. 2012 à 17:52
Bonjour,

est-ce que je peux le parametrer à l'ordre du milliseconde?Non avec EXCEL 1 seconde minimum.
Logiquement il n'y a aucune raison de faire des imports a la milliseconde pour deux raisons:

1ere-->pas faisable materiellement avec un PC lambda

2eme-->votre fichier est ecrit toutes les secondes, donc pas utile de voir a la millseconde puisqu'il n'y a pas de changement de valeurs dans le fichier

A+
0
mirage23 Messages postés 112 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 31 janvier 2016
17 déc. 2012 à 19:36
merci
0
mirage23 Messages postés 112 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 31 janvier 2016
20 déc. 2012 à 17:59
svp pour ce programme la :

Declare Function Beep Lib "kernel32" (ByVal Frequence As Long, ByVal Duree As Long) As Long


Sub LancementAutomatique()
Go = TimeSerial(Hour(Time), Minute(Time), Second(Time) + "3")
Application.OnTime Go, "LancementAutomatique"
Call Beep(500, 100)
Range(Range("A65536").End(xlUp), Range("A2").Offset(0, 48)).Cut
Range("A3").Select
ActiveSheet.Paste
Range(Range("A65536").End(xlUp), Range("A65536").End(xlUp).Offset(0, 48)).Cut
Range("A2").Select
ActiveSheet.Paste
End Sub




j'essay de l'executer sur office2010, il me fait "erreur de compilation, le code contenu dans ce projet doit etre mis a jour pour pouvoir etre utilisé sur les systeme 64bits verifier et mettez a jour les instructions declaré, puis marquez les avec l'attribut Ptrsafe".

je doit modifier quoi sur ce programme svp,??
0