Avec ce code vous pourrez importer dans une nouvelle feuille d'un classeur EXCEL les données d'une base ACCESS. Il fait appel au modèle DAO ainsi qu'à la bibliothèque d'objets d'EXCEL. Pensez à les référencer dans le projet.
Source / Exemple :
Option Explicit
'Vous devez avoir installé EXCEL sur votre ordinateur
'Ce code fait appel au modèle DAO ainsi qu'à la bibliothèque d'objet EXCEL
'Il ne faut pas oublier de les référencer dans le projet.
Private Sub cmdBDAEXCEL_Click()
Dim DBA As Database
Dim Enreg As Recordset
Dim Appli As New Application
Dim Ligne As Long
Dim stFichier As String
If Right(App.Path, 1) = "\" Then
stFichier = App.Path
Else
stFichier = App.Path + "\"
End If
'Ouverture de la base de données "Depart75.mdb"
Set DBA = OpenDatabase(stFichier + "Depart75.mdb")
'Ouverture des enregistrements de la table "Depart75"
Set Enreg = DBA.OpenRecordset("SELECT Lieux, Latitude, Longitude FROM Depart75 ORDER BY Lieux ASC")
Ligne = 1
Appli.Visible = True
'Création d'un nouveau classeur EXCEL
Appli.Workbooks.Add
'Feuille 1 du classeur EXCEL créé
With Appli.ActiveWorkbook.Worksheets("feuil1")
'Premier enregistrement de la table "Depart75"
Enreg.MoveFirst
'Ecriture dans le fichier "Depart75.xls" tant que la fin de la table "Depart75" n'est pas atteinte
Do While Enreg.EOF = False
' Place le contenu du champ "Lieux" dans la 1ère colonne de la feuille EXCEL
.Cells(Ligne, 1) = Enreg!Lieux
' Place le contenu du champ "Latitude" dans la 2ème colonne de la feuille EXCEL
.Cells(Ligne, 2) = Enreg!Latitude
' Place le contenu du champ "Longitude" dans la 3ème colonne de la feuille EXCEL
.Cells(Ligne, 3) = Enreg!Longitude
' Ligne suivante
Ligne = Ligne + 1
' Enregistrement suivante
Enreg.MoveNext
Loop
End With
End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.