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 :

Coder la génération d'un fichier excel depuis plusieurs fichiers sources de données excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2015
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Coder la génération d'un fichier excel depuis plusieurs fichiers sources de données excel
    Bonjour à tous,

    J'ai récemment un projet consistant à générer un fichier excel.

    Les sources de données proviennent également de plusieurs fichiers excel (environ 15). J'ai voulu commencer à le développer en VBA mais le fichier générer va devoir contenir environ 15000 lignes et 20 colonnes par feuilles (3 feuilles à générer) provenant de ces sources de données excel. Je pense qu'en VBA la génération du fichier et les traitements prendront du temps et je pense qu'il pourrait avoir un moyen plus optimal de faire cette tâche pour que la génération soit plus rapide qu'en VBA.

    Si vous avez des conseils ou des idées à me donner je suis preneur. Avez-vous déjà eu à faire des projets similaires? Si oui merci de partager votre expérience. Y'a t-il un langage de programmation autre que VBA que je pourrais utiliser pour cette tache?

    Merci d'avance à tous

  2. #2
    Membre expérimenté Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 1 679
    Points
    1 679
    Par défaut
    Bonjour,

    En Python il y a xlrd/xlwt : http://www.python-excel.org
    En Java il y a Apache POI : https://poi.apache.org

    Bon courage,

  3. #3
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 061
    Points
    32 061
    Par défaut
    Il y a certainement moyen d'être très performant en VBA. Je me souviens d'une agrégation de 50 feuillets de 5-10000 lignes chacun, avec des relations complexes entre eux, qui prenaient 10 secondes. Les astuces étaient (1) de tout mettre dans des tableaux, de créer des tableaux de résultats, et d'injecter les résultats directement dans les classeurs cibles. (2) créer des dictionnaires sur les tableaux pour indexer les tableaux.

    Celà étant, suivant le contexte, ça peut être la meilleure solution - ou pas. L'inconvénient principal de VBA, c'est que c'est du pour un par un. Si plusieurs utilisateurs sont amenés à lancer ce genre d'opérations de manière régulière, les liens de Cincinnatus sont certainement plus pertinents. En l'absence de ce genre de contraintes, je ferais tout ça en VBA, pour éviter de dupliquer. Et en utilisant les astuces habituelles pour optimiser.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  4. #4
    Membre expérimenté Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 1 679
    Points
    1 679
    Par défaut
    Je n'ai jamais eu à effectuer ces traitements en VBA. Je ne peux donc pas comparer. @ronisko : Quels langages connais-tu suffisamment pour réaliser ça ?

    Pour info, j'ai écrit en Python des scripts pour intégrer des données à structure (presque) variable (n colonnes optionnelles au milieu des feuilles...) depuis +200 fichiers de 40 sources différentes, le plus gros (de loin) représentant 500.000 lignes.
    L'avantage de ce langage est sa souplesse, dans ce cas, pour s'adapter aux différents types de données. L'avantage de Java sur ce point est son typage plus strict qui oblige à être carré. VBA a certainement l'avantage d'être intégré à Excel.

Discussions similaires

  1. Mise à jour d'un fichier TARGET excel depuis un autre SOURCE
    Par breweryfr dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/09/2013, 21h59
  2. [XL-2003] Regroupé données depuis plusieurs fichier EXCEL
    Par Nathan87 dans le forum Excel
    Réponses: 0
    Dernier message: 09/03/2011, 15h31
  3. Réponses: 3
    Dernier message: 07/12/2009, 14h46
  4. Réponses: 2
    Dernier message: 24/03/2007, 12h11
  5. [VBA] Ouvrir plusieurs fichiers textes depuis Excel
    Par Stephane_123 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/12/2006, 17h45

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