**TRANSFER D'UNE BD ACCESS VERS EXCEL??**

cs_Heny Messages postés 125 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 19 avril 2007 - 31 mai 2004 à 12:28
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 23 déc. 2004 à 18:28
Salut a tous
J’aimerais bien que quelqu’un m’aide à résoudre un Pb dans mon application qui consiste a enregistrer l’intégralité d’une table d’Access dans une feuille Excel. J’utilise une ADODC une DATAGRID et bien sur une base de donnée ACCESS. Et merci d’avance de votre aide !!!

6 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
31 mai 2004 à 12:39
Salut, g un tit exemple mais c en DAO. Tu pourras peut-être t'en inspirer.

Const acQuitPrompt = 0
Const acQuitSaveAll = 1
Const acQuitSaveNone = 2

'
'
' Export access >> excel
'
' Ne pas opublier de cocher les références dans Pojet
' Microsoft Access et Microsoft DAO
'
'
Private Sub Command1_Click()
Dim db As Database
Dim rq_SQL As String
Dim obj_Access As Access.Application
Dim Nom_Base_Access As String
Dim Nom_Fichier_Excel As String
Dim Nom_Requete As String

Nom_Fichier_Excel = "c:\test\classeur1.xls"
Nom_Base_Access = "c:\test\bd1.mdb"
Nom_Requete = "Transfert_Vers_Excel"

' Définition de la base de données
Set db = OpenDatabase(Nom_Base_Access)

' Création de la requète temporaire
rq_SQL = "select * from table1"
db.CreateQueryDef Nom_Requete, rq_SQL

' Création d'un objet Access
Set obj_Access = New Access.Application

' Ouverture de la base Access
obj_Access.OpenCurrentDatabase Nom_Base_Access

' Exportation de la requete vers un fichier excel
' ATTENTION : si le fichier Excel existe, il est écrasé !
' S'il n'existe pas, il est créé
obj_Access.DoCmd.TransferSpreadsheet acExport, , Nom_Requete, Nom_Fichier_Excel

' Fermeture de la base
obj_Access.Quit acQuitSaveNone

' Libération de la mémoire
Set obj_Access = Nothing

' Effacement de la requete temporaire
db.QueryDefs.Delete Nom_Requete

End Sub

Bonne prog.

Cordialement

CanisLupus
0
vtchikin Messages postés 14 Date d'inscription lundi 15 novembre 2004 Statut Membre Dernière intervention 5 décembre 2006
21 déc. 2004 à 17:21
est 'il possible d'exporter vers excel sans écraser les données du fichier cible excel?

vtchikin@yahoo.fr

merci à ceux qui peuvent m'aider.
0
vtchikin Messages postés 14 Date d'inscription lundi 15 novembre 2004 Statut Membre Dernière intervention 5 décembre 2006
21 déc. 2004 à 17:21
est 'il possible d'exporter vers excel sans écraser les données du fichier cible excel?

vtchikin@yahoo.fr

merci à ceux qui peuvent m'aider.
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
21 déc. 2004 à 20:14
Salut vtchikin,

Oui, c'est possible mais c à toi de le gérer.

Par exemple,
Tu peux nommer tes classeurs avec une notion de date :
classeur_AAAAMMJJ.xls
(pour aujourd'hui, ça donnerait classeur_20041221.xls

Dans le code, ça donnerait :
Nom_Fichier_Excel = "c:\test\classeur_" & format$(date,"yyyymmdd") &".xls"

Tu peux même aller plus loin en mettant l'heure :
Nom_Fichier_Excel = "c:\test\classeur_" & Format$(Now, "yyyymmdd_hh-mm") &".xls"

Pour être sûr, après que tu aie défini le nom de ton classeur, tu peux faire quelque chose comme ça :

if dir(Nom_Fichier_Excel) <> "" then
r=msgbox ("Le fichier " & Nom_Fichier_Excel & " Existe déjà ! Voulez-vous l'écraser ?",vbyesno)
end if
if r=vbno then
' ton traitement si non
else
' ton traitement si oui
end if

Les avantages en mettant la date, voire l'heure, c'est :
- qu'il y a moins de chance d'écraser tes fichiers,
- que tu peux conserver un historique
- que tu n'as pas à gérer un numéro de fichier
...

Bonne prog

Cordialement, CanisLupus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vtchikin Messages postés 14 Date d'inscription lundi 15 novembre 2004 Statut Membre Dernière intervention 5 décembre 2006
23 déc. 2004 à 11:59
Merci beaucoup pour ces renseignements.

Toutefois dans mon cas bien précis, j'aimerai exporter un tableau croisé dynamique d'access vers excel tout en gardant le lien entre les deux pour n'avoir qu'à raffraichir le tableau croisé dynamique sur excel lié à un formulaire d'access lui même sourcé d'une requette. D'autre part ce tableau croisé dynamique serait utilisé par liaison par d'autres cellules sur d'autres feuilles excel. C'est pourquoi je dois utiliser un fichier excel déjà construit ou les calculs sont automatiques en liaison au tableau croisé dynamique.

En fait, je ne dois pas effacer mon historique mais je dois également incorporer ce tableau dans un fichier "modèle" bien construit et non dans un fichier vierge.

est ce également possible?

Merci encore de ton éventuel aide.
vtchikin
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
23 déc. 2004 à 18:28
AIE, ça m'a l'air bien compliqué tout ça.

Je ne sais pas si c'est possible en programmation, surtout la liaison. D'ailleurs, à partir d'access (moi c access 97), même "à la main", je ne vois pas la possibilité d'exporter avec liaison. A partir d'Excel non plus d'ailleurs. Peut-être en utilisant MS Query mais mes connaissances en VBA s'arrêtent bien avant ça.

2 adresses spécialisées :

http://frederic.sigonneau.free.fr/office.htm

http://www.excelabo.net/

Tu y trouveras peut-être ton bonheur

Bonne prog

Cordialement, CanisLupus
0