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 :

Récupérer données dans des classeurs fermés


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 257
    Points : 111
    Points
    111
    Par défaut Récupérer données dans des classeurs fermés
    Salut a tous et a toutes,

    je possède un fichier excel globale (Reporting) contenant des informations sur 3 personnes de mon groupe. Chacune de ses personnes possède aussi un modèle de ce fichier globale (c.a.d la meme structure au niveau des colonnes) avec ses données respectives.

    ce que je souhiate faire est de pouvoir récupérer les données des fichiers individuels de ces 3 personnes et les ajouter dans le fichier globale dans les cellules respectives.

    J'ai deja une macro qui fonctionne très bien capable de récupérer les données d'un classeur fermé. Cependant, il me récupère toutes les données de ce classeur fermé HORS moi, je désire récupérer seulement les données dans certaines colonnes et non pas toutes.

    Mon code actuel qui récupère tout :
    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
    34
    35
    36
    37
    Sub Fichier_Alan()
        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 = "C:\Documents and Settings\kafami01\My Documents\Outil\Outil-Reporting(alan).xls"
        'Nom de la feuille dans le classeur fermé
        NomFeuille = "Reporting"
     
        Set Cn = New ADODB.Connection
     
        '--- Connection 1---
        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 A2
        Sheet6.Range("A2").CopyFromRecordset Rst
     
        '--- Fermeture connexion ---
        Cn.Close
        Set Cn = Nothing
     
    End Sub
    J'ai testé donc avec le fichier de Alan (Outil-Reporting(alan).xls) et je reussi avec cette macro a récupérer toutes les données de toutes les colonnes et les ajouter dans une nouvelle feuille de mon fichier globale Reporting.
    Cependant, J'aimerais cela par exemple récupérer uniquement les données des colonnes A et C de ces fichiers individuels et les ajouter dans les colonnes A et C en fonction du nom de la personne de mon fichier globale Reporting. Comment modifier ce code pour faire ceci.

    J'ai essayé plusieurs tentatives mais hélas, ca ne marche toujours pas.

    Votre aide est grandement apprécié.

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Points : 824
    Points
    824
    Par défaut
    Bonsoir,

    Pour récupérer uniquement les colonnes qui t'intéressent il faut spécifier leur nom dans ta requete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    texte_SQL = "SELECT NomChamp1, NomChamp2 FROM [" & NomFeuille & "$]"
    Cordialement,

    Tirex28/

Discussions similaires

  1. [XL-2010] VBA/ADO : récupération de données dans un classeur fermé.
    Par Anto_NEX dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/07/2012, 09h07
  2. Insérer une formule dans des classeurs fermés
    Par texas2607 dans le forum Excel
    Réponses: 8
    Dernier message: 19/01/2011, 16h55
  3. [XL-2007] Récupérer données dans différents classeurs
    Par Kichott dans le forum Excel
    Réponses: 1
    Dernier message: 14/02/2010, 04h52
  4. Lire dans des classeurs fermés Excel2007 xlsx et xlsm
    Par SilkyRoad dans le forum Contribuez
    Réponses: 0
    Dernier message: 26/08/2007, 15h59
  5. recherche d'info dans des classeurs fermé
    Par gerald57 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/08/2006, 19h04

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