Access vers excel à traver vba

sisi81 Messages postés 13 Date d'inscription mercredi 27 décembre 2006 Statut Membre Dernière intervention 23 janvier 2009 - 12 avril 2007 à 11:20
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 12 avril 2007 à 11:34
salut
je cherche une solution pour exporter les données d'une table de access à excel à travers VB
en faite j'ai reussi à ouvrir une feuile excel à partir de vb mais moi je veux bien mettre la dedans les informations de ma table d'access.
voila mon code
 Private Sub Cmdexport_Click()


   'Déclare une variable objet destinée à contenir la
   'référence à excel
   Dim xlApplication As Object
  'Création de l'objet par createobject
  Set xlApplication = CreateObject("Excel.Application")
  'Ajout du classeur (xlbook) et de la feuille(xlsheet)
  Set xlBook = xlApplication.Workbooks.Add
  Set xlSheet = xlBook.Worksheets(1)
  'Ouvrir excel et le rendre visible au travers de l'objet xlapplication
    xlApplication.Visible = True
   ' Place du texte dans la première cellule de la feuille(feuil1).
    xlSheet.Cells(1, 1).Value = "BONJOUR sepheroth27 "
  'on peut faire reference au cellules de EXCEL à partir de l'objet (cells) qui prend un
  'couple de valeur (dans l'exemple (1,1) ) qui representent les references dans l'ordre
  'à la ligne et à la colone  comme dans les lignes de code suivantes qui affectent des
  'valeurs aux cellules 2,3 puis calcul du resultat de l'addition dans la quatrieme ligne de
   'la colone "A"
'je veux que ces cellules soi rempli d'informations d'une table acces "TEMP"

xlSheet.Cells(2, 1).Value = 2
 xlSheet.Cells(3, 1).Value = 5
   xlSheet.Cells(4, 1).Value = xlSheet.Cells(2, 1).Value + xlSheet.Cells(3, 1).Value
  ' En fin tu peut quitter excel en sauvgardant les données entreés
   xlBook.SaveAs "C:\test.xls"
'ensuite tu peut fermer Excel par la méthode Quit .
   
    xlApplication.Quit


  ' Supprime la variable objet.
    Set xlApplication = Nothing


End Sub

j'espere que vous m'aider à trouver la solution
merciiiiii

1 réponse

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
12 avril 2007 à 11:34
Si tu utilises un Recordset pour rechercher les données de base, ces données sont donc stockées dans le le Recordset.
Il te suffit d'utiliser la fonction CopyFromRecordset pour coller dans Excel

ex:
Set Rs = CurrentDB.Openrecordset("Select * from MaTable")
xlSheet.Range("A1").CopyFromRecordset Rs

En principe, ça devrait fonctionner tel quel.

MPi
0
Rejoignez-nous