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.
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
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