Bonjour
Un exemple a adapter qui permet de réaliser une requete sql sur une base access en etant dans excel.
A+
'Histo certificatif
'Version 2 02/2003
'Développé par : D Gossart
'--------------------------------------------------------------------------------------------
Private i, nbr, repere As Integer
Private espace As Workspace
Private labase, dbf As Database
Private lesEnregist, lesEleves As Recordset
Private selection, code, laClasse As String
'connexion à la base
Sub connectDB()
Set espace = DBEngine.Workspaces(0)
Set labase = espace.OpenDatabase("c:\Histo\conseil.mdb") 'Changer ici le nom de la base
Set lesEnregist = labase.OpenRecordset("listelev", dbOpenDynaset)
End Sub
'Requête SQL affichant la liste des élèves
Sub AffClasse(code, session, epreuve, module, nucertif)
laClasse = "SELECT nom, prénom from listelev Where [code classe]=" & "'" & code & "'" & "order by nom"
Set lesEleves = labase.OpenRecordset(laClasse)
With lesEleves
.MoveLast
.MoveFirst
nb = .RecordCount
End With
Worksheets("saisie des notes").Cells(5, 2) = code
Worksheets("saisie des notes").Cells(6, 2) = "Nombre d'élèves : " & nb
Worksheets("saisie des notes").Cells(1, 8) = session
Worksheets("saisie des notes").Cells(3, 8) = epreuve
Worksheets("saisie des notes").Cells(3, 4) = module
Worksheets("saisie des notes").Cells(1, 6) = nucertif
For i = 1 To nb
lesnoms = lesEleves("nom").Value
lesprenoms = lesEleves("prénom").Value
Worksheets("saisie des notes").Cells(i + 8, 2).Value = lesnoms
Worksheets("saisie des notes").Cells(i + 8, 3).Value = lesprenoms
lesEleves.MoveNext
Next i
lesEleves.Close
End Sub