benbill
Messages postés21Date d'inscriptionmercredi 18 mai 2005StatutMembreDernière intervention21 juin 2005
-
26 mai 2005 à 09:22
AnisBenM
Messages postés1Date d'inscriptiondimanche 29 octobre 2006StatutMembreDernière intervention19 août 2009
-
19 août 2009 à 12:09
Bonjour
J'ai une requête sur Access que je voudrais faire passer sur excel pour pouvoir la retravailler.
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 26 mai 2005 à 09:47
?????????????????????????
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.
cs_ITALIA
Messages postés2169Date d'inscriptionvendredi 20 avril 2001StatutMembreDernière intervention30 juin 20099 26 mai 2005 à 13:44
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
AnisBenM
Messages postés1Date d'inscriptiondimanche 29 octobre 2006StatutMembreDernière intervention19 août 2009 19 août 2009 à 12:09
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