IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E] Lecture de fichier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut [VBA-E] Lecture de fichier
    Comment faire pour lire un fichier, sans le lire ligne à ligne ??
    La lecture ligne à ligne utilise ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim intf As Integer
    Dim strLigne As String
    intf = FreeFile
    Open "C:\rep\file.txt" For Input As #intf 
        While Not EOF(intf)
            Input #intf, strLigne
            Debug.Print strLigne
        Wend
        Close #intf
    ou ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim intf As Integer
    Dim strLigne As String
    intf = FreeFile
    Open "C:\rep\file.txt" For Input As #intf 
        While Not EOF(intf)
            Line Input #intf, strLigne
            Debug.Print strLigne
        Wend
        Close #intf
    Moi je souhaite mettre tout le contenu du fichier dans un varaible string les fichiers font au plus une 100 aines de lignes et une string peut faire 2Go !!

    Ou sinon mettre une plus grand partie du fichier dans une string, par exemple découper le fichier en deux.

    Merci d'avance

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Par défaut
    Tu veux en faire quoi de ce fichier texte ? l'importer dans Excel ? pourquoi tu utilise pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.open "fichier_texte.txt"
    en regardant les options de cette commande ?
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    Non je ne souahite pas l'importer dans Excel juste vérifier certaines chaines de caractère dedans.

  4. #4
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Salut,
    c'est bizarre! J'étais sûr qu'en utilisant "Input" seul au lieu de "Line Input", on récupérait TOUT le contenu du fichier dans une variable de type String, avec les retours chariots.
    Tu es sûr que ta première proposition ne marche pas?

  5. #5
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    Citation Envoyé par Megaxel
    Tu es sûr que ta première proposition ne marche pas?
    Oui mal heureusement mais si tu peux faire un test on sait jamais une option chez moi ou je ne sais koi ??

    SInon la doc dit
    Input #, instruction
    Lit des données dans un fichier séquentiel ouvert et les attribue à des variables.

  6. #6
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Alors je te répond ça:
    Contrairement à l'instruction Input #, la fonction Input renvoie tous les caractères lus, y compris les virgules, les retours chariot, les sauts de ligne, les points d'interrogation et les espaces à gauche.
    Esasie de virer le dièse!


  7. #7
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim Contenu as String
     
    Open Fichier For Binary As #F 
    Contenu= Input(LOF(F), #F) 
    Close #F

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VBA - Excel / Lecture fichier texte
    Par House MD dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/12/2007, 13h27
  2. {VBA Excel}Question sur la lecture de fichier excel
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/12/2007, 09h12
  3. [Excel - VBA] lecture de fichier txt
    Par simstef dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 15/06/2007, 16h00
  4. [VBA-E]Lecture ecriture fichier texte
    Par anisr dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/04/2007, 05h46
  5. [FSO][VBA]Lecture de fichier texte actif
    Par Marco_SAP dans le forum Access
    Réponses: 10
    Dernier message: 12/12/2006, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo