Ouverture fichiers textes avec excel VBA
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Ouverture fichiers textes avec excel VBA



  1. #1
    speed_01

    Ouverture fichiers textes avec excel VBA


    ------

    Bonjour,

    Afin d'effectuer une ouverture de fichier texte et d'écriture de son contenu dans le classeur, j'utilise la fonction "open ... for input as ....". Le fichier s'ouvre et son contenu est correctement écrit. Le problème est que quand je ré-exécute la macro, afin d'écrire un nouveau fichier sur le classeur, le contenu du fichier précédent sur la feuille est effacé. Savez-vous si une syntaxe particulière est nécessaire à la fonction "open" afin de ne pas écraser les précédentes données sur le classeur à chaque ouverture de nouveau fichiers.

    Merci d'avance.

    -----

  2. #2
    bisou10

    Re : Ouverture fichiers textes avec excel VBA

    il faut evidemment que tu mettes un close après avoir exploité le fichier.

  3. #3
    Optimix

    Re : Ouverture fichiers textes avec excel VBA

    Bonjour tout le monde.
    Sans voir le code, il est strictement impossible de vous aider. Exemples :

    Exemple 1 :
    Code:
    Sub Macro1()
        Dim ligne As String
        
        Open ThisWorkbook.Path & "\" & "source1.txt" For Input As #1
            While Not EOF(1)
                Line Input #1, ligne
                MsgBox ligne
            Wend
        Close #1
    End Sub
    Dans ce code où le n° de registre est fixe (#1), si vous oubliez de refermer votre fichier avec le Close #1 dont parle bisou10, si vous voulez ouvrir le fichier source2.txt avec la même macro, vous aurez une erreur 55 (fichier déjà ouvert).

    Exemple 2 :
    Code:
    Sub Macro1()
        Dim f As Integer
        Dim ligne As String
        
        f = FreeFile
        Open ThisWorkbook.Path & "\" & "source1.txt" For Input As #f
            While Not EOF(f)
                Line Input #f, ligne
                MsgBox ligne
            Wend
    End Sub
    Dans ce code, vous avez oubliez le Close #f. Aucune erreur ne vous sera signalée parce que le système prendra automatiquement le 1er registre libre qu'il trouvera (normalement #2). Moralité, ne jamais utiliser ce Freefile qui est ce qu'il y a de plus dangereux dans les fichiers séquentiels.

    Maintenant, si votre macro écrit des données toujours au même endroit, il est normal que le contenu du fichier Source2.txt écrase les données du fichier Source1.txt. D'où l'importance de voir votre code. Je pense que votre problème est plutôt là.

Discussions similaires

  1. [Matlab] Charger des fichiers textes par date de création
    Par andrew_77 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 16/01/2013, 13h16
  2. [Matlab] Charger des fichiers textes
    Par andrew_77 dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 11/07/2012, 10h28
  3. Comment renommer 12000 fichiers textes avec Matlab
    Par invitee340ba51 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 18/02/2010, 13h28
  4. problemes avec certains fichiers à l'ouverture de Windows
    Par invite1786aee5 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 03/08/2009, 12h32
  5. Problème avec ouverture fichiers RAW.
    Par invitedcacff25 dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 26/09/2007, 00h51