Base de données access vers excel

Description

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

Codes Sources

A voir également

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.