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 :

Traitement sous access depuis Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 36
    Par défaut Traitement sous access depuis Excel
    Bonjour,
    mon problème est le suivant :
    je souhaite récupérer dans une feuille excel le contenu d'une requete Access.
    Pour le moment, je récupère tous les enregistrements avec le code suivant :
    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
    38
    39
    40
     
    Sub  CopyFromRecordset_DAO()
     
         Dim Db1 As Database
     
         Dim Rs1 As Recordset
     
         ' Ouverture de la base de données
     
         Set Db1 = DBEngine.OpenDatabase(ThisWorkbook.Path & "\Commandes.mdb" )
     
         ' Ouverture de la table Factures
     
         ' Un objet Recordset représente les enregistrements d'une table
     
         Set Rs1 = Db1.OpenRecordset( Name := "Factures pour un client" , Type :=dbOpenSnapshot)
     
         ' Effacement des données existantes dans la WorkSheet (sauf les titres)
     
         ' et copie des enregistrements
     
         With Worksheets( "DonnéesDataBase" ).Range( "A2" )
     
              With Selection.CurrentRegion
     
                   Intersect(.Cells, .Offset( 1 )).Select
     
              End With
     
              Selection.ClearContents
     
              .CopyFromRecordset Rs1
     
         End With
     
         'Fermeture de la Base de données
     
         Db1.Close
     
    End Sub

    Mais je souhaite également récupérer les entetes de chaque colonne (le nom des champs) de cette requete sous Excel (en codant uniquement sous Excel)

    Je suppose qu'une solution existe..

    Merci.

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Pour inserer les en tetes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        Dim i as integer
        'Insère les entetes de colonne
        For i = 0 To Rs1.Fields.Count - 1
            Sheets("DonnéesDataBase").Cells(1, i + 1).Value = Rs1.Fields(i).Name
        Next i

Discussions similaires

  1. Création automatique de lignes sous access depuis excel
    Par vally74 dans le forum VBA Access
    Réponses: 2
    Dernier message: 27/06/2008, 16h07
  2. macro non respectée sous access et excel
    Par pascal913 dans le forum Access
    Réponses: 6
    Dernier message: 17/07/2006, 14h00
  3. [VBA-E] Appel macro Access depuis Excel en mode silencieux
    Par lordkoko dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/05/2006, 10h12
  4. Impossible d'ouvrir une base Access depuis Excel
    Par vciofolo dans le forum Access
    Réponses: 8
    Dernier message: 14/12/2005, 12h09
  5. Renseigner un formulaire Access depuis Excel
    Par vciofolo dans le forum Access
    Réponses: 6
    Dernier message: 30/09/2005, 11h12

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