Exporter des données sur excel à partir d'Access [Résolu]

Signaler
Messages postés
21
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
21 juin 2005
-
Messages postés
1
Date d'inscription
dimanche 29 octobre 2006
Statut
Membre
Dernière intervention
19 août 2009
-
Bonjour

J'ai une requête sur Access que je voudrais faire passer sur excel pour pouvoir la retravailler.

Comment puis-je faire ?

Merci d'avance

13 réponses

Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Coches reponses acceptées alors

It@li@
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 128 internautes nous ont dit merci ce mois-ci

Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
7
?????????????????????????

Tu veux pouvoir passer le résultat de ta requête sous excel tu veux dire...

Il suffit de faire une connexion sur une feuille excel.

De lancer un recordset de ta requête et d'inclure chaque champ dans les colonnes et lignes de ta feuille Excel.

Il y a une multitude d'aide à ce sujet sur vbfrance, sinon va voir dans
les messages que j'ai envoyé dernièrement, j'ai laissé quelques
fonctions pour faire ça.

TBBUIM
Messages postés
21
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
21 juin 2005

oui c'est ca que je veux faire

pourrait tu me donner un exemple de code stp car je ne sais pas comment m'y prendre

merci !
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
23
Bonjour,



Projet / références cocher "Microsoft Excel 9.0 Object Library"



Dim Db As Database

Dim Req As Recordset

Set Db = OpenDatabase("C:\Program files\microsoft Visual Studio\vb98\Voyage.mdb")

Set Req = Db.OpenRecordset("SELECT *FROM Liste")



Text1.Text = Req("Destinations")

Text2.Text = Req("Prix")



Req.Close

Db.Close

Set Req = Nothing

Set Db = Nothing



jpleroisse
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
23
Re,

Excuse, me suis tromper de code, il n'est pas complet, tu dois ouvrir Excel avant et remplacer TextBox par Range.



jpleroisse
Messages postés
21
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
21 juin 2005

merci jpleroisse
je vais essayer !!!
encore merci.
bye
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
23
Re,

N'oublie pas Projet / références Dao 3.51 (ou 4.0) suivant version et Excel 9.0 Object Library



Private Sub Command1_Click()

Dim Db As Database

Dim Req As Recordset

Set Db = OpenDatabase("C:\Program files\microsoft Visual Studio\vb98\Voyage.mdb")

Set Req = Db.OpenRecordset("SELECT * FROM Liste")



Dim objXL As New Excel.Application

Dim wbXL As New Excel.Workbook

Dim wsXL As New Excel.Worksheet



If Not IsObject(objXL) Then

MsgBox "Vous Avez Besoin de Microsoft Excel pour cette Fonction", vbExclamation, "Excel"

Exit Sub

End If



' Ouvre Excel

objXL.Visible = True

Set wbXL = objXL.Workbooks.Add

Set wsXL = objXL.ActiveSheet

wsXL.Cells(1, 1).Value = Req("Destinations")

wsXL.Cells(1, 2).Value = Req("Année")

objXL.ActiveWorkBook.Close False

objXL.Quit

Set Req = Nothing

Set Db = Nothing



End Sub



jpleroisse
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
23
Si tu veux travailler à partir d'Excel, vas voir ma source



http://www.vbfrance.com/code.aspx?ID=31326



cele fait, à mon avis exactement ce que tu veux faire.



jpleroisse
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Pas mal ta source jpleroisse mais tu oublis de tester la Présence d'enregistrements aprés la requete :

Private Sub Command1_Click()

Dim Db As Database
Dim Req As Recordset
Dim objXL As New Excel.Application
Dim wbXL As New Excel.Workbook
Dim wsXL As New Excel.Worksheet

If Not IsObject(objXL) Then
MsgBox "Vous Avez Besoin de Microsoft Excel pour cette Fonction", vbExclamation, "Excel"
Exit Sub
End If

Set Db = OpenDatabase("C:\Program files\microsoft Visual Studio\vb98\Voyage.mdb")
Set Req = Db.OpenRecordset("SELECT * FROM Liste")
If Req.Recordcount <>0 Then ' Si il y a au moins 1 enregistrement
' Ouvre Excel
objXL.Visible = True
Set wbXL = objXL.Workbooks.Add
Set wsXL = objXL.ActiveSheet
wsXL.Cells(1, 1).Value = Req("Destinations")
wsXL.Cells(1, 2).Value = Req("Année")
objXL.ActiveWorkBook.Close False
objXL.Quit
End If

Set Req = Nothing
Set Db = Nothing

End Sub

It@li@
Messages postés
21
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
21 juin 2005

Merci pour votre aide
J'ai enfin trouvé comment faire.

a+
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
EXpliques nous !!

It@li@
Messages postés
21
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
21 juin 2005

bah j'ai fais comme vous m'avez expliqués toi et jpleroisse.


encore merci pour votre aide


" J'sais pas ùu j'ai été fourré ma tête mais j'ai plein de morpions, c'est vraiment dégeulasse "
Messages postés
1
Date d'inscription
dimanche 29 octobre 2006
Statut
Membre
Dernière intervention
19 août 2009

Je sais que ce post est ancien mais il m'a récemment servi.
J'apporte une petite rectification à la remarque d'ITALIA. Le test qu'il propose ne fonctionne pas correctement. Le moyen le plus sûr et le plus efficace est de vérifier si EOF et BOF valent tous deux True (cad qu'il n'y a aucun enregistrement).

Private Sub Command1_Click()

Dim Db As Database
Dim Req As Recordset
Dim objXL As New Excel.Application
Dim wbXL As New Excel.Workbook
Dim wsXL As New Excel.Worksheet

If Not IsObject(objXL) Then
MsgBox "Vous Avez Besoin de Microsoft Excel pour cette Fonction", vbExclamation, "Excel"
Exit Sub
End If

Set Db = OpenDatabase("C:\Program files\microsoft Visual Studio\vb98\Voyage.mdb")
Set Req = Db.OpenRecordset("SELECT * FROM Liste")
If Not myRecordSet.EOF And Not myRecordSet.BOF Then
' Ouvre Excel
objXL.Visible = True
Set wbXL = objXL.Workbooks.Add
Set wsXL = objXL.ActiveSheet
wsXL.Cells(1, 1).Value = Req("Destinations")
wsXL.Cells(1, 2).Value = Req("Année")
objXL.ActiveWorkBook.Close False
objXL.Quit
End If

Set Req = Nothing
Set Db = Nothing

End Sub


Anis