Copie automatique fichier text vers fichier Exel

mirage23 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention   -  
 eriiic -
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.

28 réponses

  • 1
  • 2
Résumé de la discussion

Problématique: un logiciel météo génère des données dans un fichier texte et l'utilisateur souhaite les ajouter automatiquement à Excel, puis le réinitialiser chaque jour. Plusieurs éléments de réponse évoquent le paramétrage du chemin du fichier et des imports, la compatibilité 64 bits, et l'aide possible d'un enregistreur de macro. Des échanges signalent aussi des erreurs telles que l'exécution 1004 et la nécessité d'adapter chemins et temps d'import selon le PC et l'emplacement. D'autres conseils proposent des solutions de tri ou de synchronisation et l'éventuelle inversion de l'ordre d'enregistrement pour afficher les données les plus récentes en haut.

Bobot (l'IA à votre service)
  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    1. mirage23
       
      http://cjoint.com/?3LljlCGZvcW voici un exemple de fichier text et je precise que les fichiers text n'ont pas le meme nom
      0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    1. mirage23
       
      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
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  4. mirage23 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention  
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Quel EXCEL avez-vous???

    autre PC relié à distance contenant ce logiciel Ces fichiers sont dans quel PC???
    0
  7. mirage23 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention  
     
    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
  8. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  9. mirage23
     
    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
  10. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Avez vous mis un fichier TXT dans le repertoire de decembre et le fichier du 11 dans ce repertoire??????
    0
    1. mirage23
       
      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
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
    3. mirage23
       
      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
    4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      Chemin est a ecrire en fonction de l'endroit ou sont les repertoires donnees....
      0
    5. mirage23
       
      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
  11. mirage23
     
    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
  12. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    1. mirage23
       
      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
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Demain Jeudi, je ne pourrai vous suivre qu'a partir de 12h.
      Comment s'appelle votre logiceil de meteo??

      A bientot
      0
  13. mirage23 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention  
     
    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
  14. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  15. mirage23 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention  
     
    merci
    0
  16. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  17. mirage23 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention  
     
    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
  18. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  19. mirage23 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention  
     
    merci
    0
  20. mirage23 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention  
     
    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
  • 1
  • 2