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 :

Importation de données excel [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 24
    Points : 26
    Points
    26
    Par défaut Importation de données excel
    Bonjour à tous,

    J'ai trouvé un code qui me permet d'importer les données d'un classeur excel fermé dans mon classeur actif. En voici le code :

    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
    27
    28
    29
    30
    31
    32
    33
    Dim Cn As ADODB.Connection
    Dim Fichier As String
    Dim NomFeuille As String, texte_SQL As String
    Dim Rst As ADODB.Recordset
    'Définit le classeur fermé servant de base de données
    Fichier = Chemin & "H " & Me.ListBox1.Value
    'Nom de la feuille dans le classeur fermé
    NomFeuille = "Hist " & Label1
    Set Cn = New ADODB.Connection
    '--- Connection ---
    With Cn
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = "Data Source=" & Fichier & _
    ";Extended Properties=Excel 8.0;"
    .Open
    End With
    '-----------------
    'Définit la requête.
    '/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille.
    texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
    Set Rst = New ADODB.Recordset
    Set Rst = Cn.Execute(texte_SQL)
    'Ecrit le résultat de la requête dans la cellule A1
    If ThisWorkbook.Sheets(NomFeuille).Visible = False Then ThisWorkbook.Sheets(NomFeuille).Visible = True
     
    ThisWorkbook.Sheets(NomFeuille).Select
    Cells.Select
     Selection.Delete
    Range("A1").CopyFromRecordset Rst
    '--- Fermeture connexion ---
    Cn.Close
    Set Cn = Nothing
    ThisWorkbook.Sheets(NomFeuille).Visible = False
    Toutefois, les colonnes à importer doivent contenir des valeures dans les premières lignes du haut, sinon, elles ne sont pas du tout importées.

    Quelqu'un a-t-il une solution autre que mettre une ligne pour "accomoder" avec des valeures bidons dans le haut?

    Merci à l'avance pour votre intérêt!

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.


    Tu devrais trouver une réponse dans le tuto de Silkyroad, Lire et écrire dans des classeurs Excel fermés
    ET notamment le § IV. Requêtes.

    1. tu peux préciser une plage sur la feuille à lire si c'est cela ton pb
    2. si la feuille n'est vraiment pas organisée comme une table, il reste les formule de liaison et les macros Excel4.

    Bonne lecture,

    PGZ
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 24
    Points : 26
    Points
    26
    Par défaut Bonjour
    Merci Pgz, pour l'info!

    Je l'essai immédiatement! Je suis tout de même un peu gêné....
    Je suis le premier à recommender les lectures de ces tutoriels!!

    Bonne journée!

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

Discussions similaires

  1. Importation de données Excel dans Access
    Par stratus dans le forum Access
    Réponses: 4
    Dernier message: 24/02/2006, 12h08
  2. Import de Données Excel dans une Table Access
    Par YLF dans le forum Access
    Réponses: 2
    Dernier message: 20/02/2006, 19h02
  3. Import de données Excel dans Access
    Par Todd62 dans le forum Access
    Réponses: 12
    Dernier message: 28/12/2005, 16h11
  4. Importation de données Excel
    Par decour dans le forum Access
    Réponses: 2
    Dernier message: 14/12/2005, 14h11
  5. Importer des données excel vers outlook
    Par faayy dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/10/2005, 09h30

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