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

Access Discussion :

import gros fichier excel (>17000 lignes)


Sujet :

Access

  1. #1
    Membre régulier Avatar de samuelsiffert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 98
    Points : 109
    Points
    109
    Par défaut import gros fichier excel (>17000 lignes)
    Bonjour,

    J'ai assez souvent un gros fichier excel de près de 45000 lignes à importer.
    Que je fasse une table attachée ou un import (manuel ou avec docmd.TransfertSpreadSheet) il y a environ uniquement 16000 ligne dans la table.

    A part découper le fichier excel en 3 ou 4 plus petits fichiers, quelqu'un aurait-il une solution permettant de traiter ce fichier en un seul coup ?

    Merci par avance,

    Sam.

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    Je n'ai pas testé DoCmd.TransferSpreadsheet sur ces volumes de données, mais a priori ça ne doit pas se limiter à 17000 lignes, il faut regarder les tables d'erreurs d'importation ça devrait te dire quelles sont les erreurs (souvent de type de données)

  3. #3
    Membre régulier Avatar de samuelsiffert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 98
    Points : 109
    Points
    109
    Par défaut
    Hélas il n'y a pas d'erreur d'importation (donc pas de table d'erreur d'importation)... Le nombre exact de ligne importées est 16384.

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    je viens de faire un test sur + de 30 000 enregistrements sans encombre ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docmd.TransferSpreadsheet acImport,acSpreadsheetTypeExcel9,"Testos","d:\temp\testover30000.xls",true
    as-tu défini un Range d'import ?
    quel est ton code ?

  5. #5
    Membre régulier Avatar de samuelsiffert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 98
    Points : 109
    Points
    109
    Par défaut
    DoCmd.TransferSpreadsheet acImport, 8, "Import", Forms!Transfert!Fichier, False, Forms!Transfert!Feuille & "!"

  6. #6
    Membre régulier Avatar de samuelsiffert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 98
    Points : 109
    Points
    109
    Par défaut
    Je viens de faire le test suivant (Excel & Access 97)
    (Le fichier xls n'a plus qu'une seule feuille)

    DoCmd.TransferSpreadsheet acImport,acSpreadsheetTypeExcel97, "Import", "c:\test.xls", False

    Mais toujours 16384 lignes importées sur 51704 lignes dans le fichier excel...

  7. #7
    Membre régulier Avatar de samuelsiffert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 98
    Points : 109
    Points
    109
    Par défaut
    Je viens de tester ça :

    DoCmd.TransferSpreadsheet acImport,acSpreadsheetTypeExcel97, "Import", "c:\test.xls", true

    Et j'ai bien toutes les lignes importées !

    Quelqu'un a-t-il une explication ?

  8. #8
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Bonjour,

    Ton Pb me rappelle les limitations inhérentes aux différentes versions d'Excel.

    Nombre de lignes d’une feuille:
    * 16384 sous Excel 5,
    * 65536 sous Excel 97 et supérieurs.

    Access croit-il avoir à faire à un fichier au format Excel 5 ?

  9. #9
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Citation Envoyé par samuelsiffert
    Je viens de tester ça :

    DoCmd.TransferSpreadsheet acImport,acSpreadsheetTypeExcel97, "Import", "c:\test.xls", true

    Et j'ai bien toutes les lignes importées !

    Quelqu'un a-t-il une explication ?
    Hé ben pas trop, mais mon test fonctionnait avec True sur HasFieldName ... étrange ...

  10. #10
    Membre régulier Avatar de samuelsiffert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 98
    Points : 109
    Points
    109
    Par défaut
    "Hé ben pas trop, mais mon test fonctionnait avec True sur HasFieldName ... étrange ..."

    C'est bien pour ça que j'ai essayé pareil ;-)
    Pour info le fichier excel est bien enregistré au format 97.
    Si tu as le courage de tester avec false, je suis intéressé par le résultat car soit mon fichier excel déconne soit cette variable joue un rôle imprévu.

    En attendant je vais mettre des noms de colonne à mon fichier...

  11. #11
    Membre régulier Avatar de samuelsiffert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 98
    Points : 109
    Points
    109
    Par défaut
    Finalement =JBO= a raison :

    J'ai enregistré le fichier en spécifiant le format excel 97 mais sous un autre nom de fichier (sinon le format n'est pas changé).

    Et depuis toutes les lignes sont bien importées et ceci quelquesoit la valeur attribuée à HasFieldName.

    Merci à tous.

    Sam.

  12. #12
    Membre régulier Avatar de samuelsiffert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 98
    Points : 109
    Points
    109
    Par défaut
    Juste une précision :
    Pour lister les feuilles du classeur avant d'importer j'utilise un objet application excel et je ne fermais pas le fichier avant de fermer l'application. Il en résulte que le fichier est enregistré au format 95 (et donc import limité à 16384 lignes...).

  13. #13
    Membre régulier Avatar de samuelsiffert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 98
    Points : 109
    Points
    109
    Par défaut
    Une précision supplémentaire : j'enregistrais mes fichier excel au format microsoft excel 97 & 5.0 / 95 mais pour avoir un vrai fichier excel 97 il faut copier-coller le contenu de mon fichier au format 95 dans un nouveau fichier fichier et l'enregistrer au format microsoft excel...

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

Discussions similaires

  1. Importer un fichier EXcel avec option "parcourir"
    Par marie10 dans le forum Access
    Réponses: 1
    Dernier message: 01/02/2006, 10h42
  2. Impossible d'importer un fichier excel
    Par _developpeur_ dans le forum Access
    Réponses: 2
    Dernier message: 24/01/2006, 12h21
  3. importer données fichier excel dans bd mysql
    Par Hydre dans le forum Administration
    Réponses: 1
    Dernier message: 05/10/2005, 19h39
  4. Import gros fichiers
    Par thibaut06 dans le forum Outils
    Réponses: 3
    Dernier message: 04/07/2005, 22h08
  5. BDD Access et importation de fichier excel!
    Par Zetmurin dans le forum C++Builder
    Réponses: 13
    Dernier message: 03/02/2005, 11h34

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