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]Avis aux experts, l'ouverture de fichier


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    Mai 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 472
    Points : 221
    Points
    221
    Par défaut [VBA-E]Avis aux experts, l'ouverture de fichier
    Bonjour

    Je dois modifier une macro.
    Il y a plusieurs ouvertures de fichiers.
    Le code est celui ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.OpenTextFile("choix.tmp", 1)
        s1 = a.readline
        s2 = a.readline
        ...................
        ................... 
        sn =a.readline 'autant de variable qu'il y a de ligne
    En regardant dans le forum j'ai vu ce code la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     Open "Path...\Choix.tmp" For Input As #1
        Do While Not EOF(1)
            Line Input #1, Ligne
            Tabli(i) = Ligne
            i = i + 1
        Loop
        Close #1

    J'aimerai savoir lequel est le plus rapide, voir même le meilleur des deux.
    Quels est donc votre avis?

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Tu devrais aussi pouvoir faire un mix des deux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.OpenTextFile("choix.tmp", 1)
        Do While Not EOF(a)
            Tabli(i) = a.readline
            i = i + 1
        loop
    Enfin, je pense... pour ma part je continue à utiliser la seconde version qui évite une double instanciation

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2006
    Messages : 103
    Points : 98
    Points
    98
    Par défaut
    Je pense que la 1ere ne doit pas etre lente du tout, je fais comme ce que tu as fait. et stocker apres les morceaux ds une collection. même qd je lis 2,3 fichier txt de 30 Mb, en 5s, il arrive à faire le lire txtstream, split et stocker tout ds la collection.
    De toute de façon, je pense s'il n'y pas trop de boucles côté VBA, c tjrs rapide.

Discussions similaires

  1. Réponses: 6
    Dernier message: 04/09/2006, 18h15
  2. Réponses: 4
    Dernier message: 03/02/2006, 11h06
  3. Réponses: 4
    Dernier message: 04/03/2005, 10h42
  4. Avis aux experts : accéder aux dimensions d'un tableau.
    Par poulpi dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/11/2004, 09h09
  5. avis aux experts-Quels sont les logiciels les plus adaptés??
    Par chouchouappc dans le forum Décisions SGBD
    Réponses: 46
    Dernier message: 20/07/2004, 21h26

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