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 :

[odbc] Chargement d'une base à partir d'excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Août 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 128
    Points : 166
    Points
    166
    Par défaut [odbc] Chargement d'une base à partir d'excel
    Bonjour,

    Je dispose d'une base oracle avec plusieurs tables aux nombreuses colonnes mais vide.
    D'un autre côté, un fichier excel avec les données dans la stucture identique aux tables.

    Je souhaiterai donc via excel charger la base avec les données adéquates. J'ai réalisé (avec bcp d'efforts! .. je découvre le vb..) la connexion et ca fonctionne. J'arrive à récupérer des données de la base ou en insérer manuellement.

    Là ou ca se corse c'est arriver à automatiser tout ca : à savoir récupérer les données dans le worksheet excel pour le mettre en base.

    Je peux bien sur prendre ligne par ligne, concaténer les colonnes et former une String de la forme "INSERT INTO tablename VALUES ('blabla', 'azerty', ...)"

    Mais ca devient assez lourd. (j'ai une vingtaine de worksheet comprenant chacune une centaine de colonnes...)
    Je suppose donc (et j'espere!) qu'il existe des façons pratiques pour récupérer d'un coup le worksheet et le transférer en base. Mais jen'ai rien trouvé de la sorte, d'où ce message!

    Merci d'avance pour tout éclairement!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    As-tu essayé avec MS Query qui est inclut dans Excel ?

    Menu Données/Données externes/Créer une requête

    Cette opération est à faire sur chaque feuille, cet outil te permet de créer une requête pour récupérer les données de ta base Oracle.

    A l'ouverture du fichier tout ce reactualise.

    Starec

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Août 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 128
    Points : 166
    Points
    166
    Par défaut
    Bonjour!
    Merci de m'avoir fait découvrir ms query (oui je découvre excel aussi! )
    Mais en fait, je n'ai peut etre pas été trés clair, je veux faire l'inverse de ce que ms query propose (ou alors j'ai raté quelquechose..).

    J'ai un fichier excel avec des données. Je veux prendre ces données et les insérer dans ma base oracle.

    Merci!

  4. #4
    Invité
    Invité(e)
    Par défaut


    J'ai mal compris, car ici j'utilise MS Query pour récupérer des données de bases Oracles.
    C'est cette phrase qui m'a induit en erreur :
    J'arrive à récupérer des données de la base ou en insérer manuellement
    Il faudrait que tu crées ta chaine SQL dynamiquement en parcourant dans une boucle les colonnes de tes feuilles, ce qui te permettrait de récupérer tes noms dans une chaine, et par concaténation l'ajouter à ton Insert.

    J'espère avoir bien compris cette fois.

    Starec

  5. #5
    Membre habitué

    Profil pro
    Inscrit en
    Août 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 128
    Points : 166
    Points
    166
    Par défaut
    Exactement ça.

    En fait j'esperai qu'il existe quelque chose d'un peu plus évolué qu'une primitive et lourde concaténation..
    vu que j'ai une centaine de colonnes et plusieurs milliers de lignes..

    J'aurai voulu un système à qui on fournit la ligne d'entete, le bloc de données et il gère au mieux l'import.
    Car là je doute franchement de la perf de la concaténation pour chaque ligne vu la quantité de données.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Regarde cette article de Silkyroad http://silkyroad.developpez.com/VBA/ClasseursFermes/, tu trouveras sûrement plus d'actuces pour faire du SQL dans un classeur Excel.

    De plus faits des recherches avec DAO sur le forum Excel, Caféine a donné quelques trucs.

    Par contre je ne vois pas le problème du nombre de lignes, il faut juste que tu récupéres la feuille et les colonnes.

    Starec

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

Discussions similaires

  1. [XL-2010] Création de factures PDF à partir d'une base de données Excel
    Par lou_loutte dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/06/2014, 23h02
  2. [XL-2003] VBA pour debutant? Creation de tableur excel a partir d'une "base de donnes excel"
    Par Kira2 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/07/2013, 15h24
  3. [COMPACTAGE] Compacter une base à partir de Java
    Par narmataru dans le forum Access
    Réponses: 2
    Dernier message: 07/11/2005, 21h14
  4. exploiter une base de données excel avec delphi
    Par budylove dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/02/2005, 19h37
  5. [ODBC][WINDOWS] gérer une base via ODBC
    Par narmataru dans le forum Windows
    Réponses: 2
    Dernier message: 19/12/2003, 13h36

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