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

VBScript Discussion :

ecriture dans une fichier Excel, problème de taille de fichier


Sujet :

VBScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 97
    Points : 53
    Points
    53
    Par défaut ecriture dans une fichier Excel, problème de taille de fichier
    bonjour,
    Je veux ecrire le résultat d'une requête SQL dans un fichier Excel. Le résultat contient plus de 60 000 ligne. Lors de l'écriture dans le fichier Excel, j'ai un message d'erreur : " Le serveur ne dispose pas de suffisamment d'espace pour stocker le fichier imprimé". Une idée pour contourner ce problème ?

  2. #2
    Membre régulier

    Inscrit en
    Septembre 2004
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 84
    Points : 81
    Points
    81
    Par défaut
    Juste pour info, une feuille Excel ne peut pas contenir plus de 65535 lignes
    Peut-être cela est la cause de ton problème.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 97
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par jbaudin Voir le message
    Juste pour info, une feuille Excel ne peut pas contenir plus de 65535 lignes
    Peut-être cela est la cause de ton problème.
    non j'ai géré ce petit détail , le problème c'est qu'il ne peut pas garder en mémoire et le résultat de ma requête et le fichier Excel qui est ouvert

  4. #4
    Membre régulier

    Inscrit en
    Septembre 2004
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 84
    Points : 81
    Points
    81
    Par défaut
    Et si tu crées un fichier xml au lieu d'un Excel ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 97
    Points : 53
    Points
    53
    Par défaut
    Au fait, c'est dans le cadre un projet et je suis contraint de fournir un fichier Excel à la fin. Ce que j'ai essayé de faire, c'est de passer par un fichier .txt dans le quel je stocke ma requete, puis je le recopie dans le fichier Excel. Mais la aussi j'ai le meme probleme !
    Si je passe par un fichier xml, est ce que je peut revenir à un fichier Excel après?

  6. #6
    Membre régulier

    Inscrit en
    Septembre 2004
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 84
    Points : 81
    Points
    81
    Par défaut
    Pour l'exemple :
    Dans Excel
    Crées un fichier Excel classique
    Enregistres le au format Excel.
    Puis le même fichier au format Feuille de calcul XML

    Tu verras que l'un comme l'autre ils ont la même tête, avec les feuilles et tout....

    Donc il te reste à trouver comment convertir un fichier XML au format feuille de calcul en xls.

    C'est un peu tirer par les cheveux, mais ça a des chances de fonctionner.
    Hier j'ai générer un fichier XML avec plus de 60000 lignes il a bien encaissé.

    Pour créer le fichier XML, j'ai utilisé la même méthode que pour créer un fichier txt.
    les fichiers XML sont de simple fichier texte avec une structure particulière.
    Pour voir, ouvre le fichier XML que tu as générés plus haut dans un éditeur comme PSPad.

  7. #7
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Peut-être une autre idée ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    if not Rs.EOF then
       chemin= "Recap.XLS"
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set Fic = fso.CreateTextFile(chemin, True)
       ' Titres des colonnes
       ' chr (34) remplace les guillements à la suite de l'instruction
       Fic.writeLine "ID;PWXL;N;E" ' Début du codage excel
       Fic.writeLine "C;Y1;X1;K" & CHR(34) & ("Nom") & CHR(34) 
       Fic.writeLine "C;Y1;X2;K" & CHR(34) & ("Prenom") & CHR(34) 
       Rs.movefirst
       Ligne = 2
       do while not Rs.eof
          Str_Nom = Rs(0)
          Str_Prenom = Rs(1)
          Fic.writeLine "C;Y" & Ligne & ";X1;K" & CHR(34) & (Str_Nom) & CHR(34) 
          Fic.writeLine "C;Y" & Ligne & ";X2;K" & (Str_Prenom)
          Ligne = Ligne + 1
          Rs.MoveNext
       loop
     
       Fic.writeLine "E" ' Fin du codage excel
       Fic.Close
       Set Fic = Nothing
       Set fso = Nothing
    end if

  8. #8
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Est ce que tu doit fournir un gichier xls ou un fichier qui peut s'ouvrir avec excel ?
    Par ce que dans le deuxième cas, tu peux peut être utiliser un fichier CSV.
    Il s'ouvre avec excel.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 97
    Points : 53
    Points
    53
    Par défaut
    merci pc75, mais j'arrive pas à comprendre ton code, une petite explication serait la bienvenue !! merci

    cd600, au fait le fichier qui contient le resultat de la requete est utilisé un autre module VBA d'un autre fichier Excel, et je ne peut pas modifier le VBA!!

  10. #10
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Le code que l'ai envoyé permet de générer un fichier Excel (sans utiliser MS Excel).

    Le fichier est généré en bouclant sur un recordset.

    La ligne Fic.writeLine "ID;PWXL;N;E" indique le début du formatage Excel

    Les lignes
    Fic.writeLine "C;Y1;X1;K" & CHR(34) & ("Nom") & CHR(34)
    Fic.writeLine "C;Y1;X2;K" & CHR(34) & ("Prenom") & CHR(34)
    écrivent les titres (Y1 = ligne1, X1 = colonne 1 et X2 = colonne 2

    Ensuite, dans la boucle, on écrit les données.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 97
    Points : 53
    Points
    53
    Par défaut
    j'ai trouvé un autre moyen, je sauvegarde mon ficheir excel toutes les 100 lignes du coup les lignes enregistrées sont vidées de la mémoires

Discussions similaires

  1. [XL-2007] Prb dans une fonction d'extraction sous condition de fichier excel.
    Par insosama dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/09/2013, 22h37
  2. [XL-2003] Création d'un fichier Excel à chaque rupture d'un fichier Excel de référence.
    Par Richard_35 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/08/2010, 16h08
  3. problème de taille de fichier Excel
    Par flore.darras dans le forum Langage
    Réponses: 2
    Dernier message: 12/06/2007, 11h46
  4. Réponses: 4
    Dernier message: 08/09/2006, 11h21
  5. ecriture dans une textbox excel
    Par lensois62 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/06/2006, 12h34

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