Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

BASE DE DONNÉES ACCESS VERS EXCEL


Information sur la source

Catégorie :OLE, DDE, Automation Classé sous : access, excel Niveau : Débutant Date de création : 16/04/2001 Vu / téléchargé: 33 640 / 33 140

Note :
6,8 / 10 - par 5 personnes
6,80 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

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

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

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de stryge le 08/01/2003 17:25:22

il n'y a pas besoin de mettre engeg.cells(ligne,1).value pour que ça marche? moi ça me met des erreurs

signaler à un administrateur
Commentaire de devsurf le 18/02/2003 05:05:59

Oui pour moi ca marche aussi.
Par cotntre, comment fait on pour exporterune table entiere d'un seul coup- du style (object.exporttable "table") ?
Merci
-------------
Pour info j'ai vu cette source sur excel et souhaiterai l'adapter sur vb:
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
        "ODBC;DBQ=C:Program FilesMicrosoft
OfficeOfficeExemplesCOMPTOIR.MDB;DefaultDir=C:Program FilesMicrosoft
OfficeOfficeExemples" _
        ), Array( _
        ";Driver={Microsoft Access Driver (*.mdb)};DriverId=281;FIL=MS
Access;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransac" _
        ), Array("tions=0;Threads=3;UID=admin;UserCommitSync=Yes;")),
Destination:= _
        Range("A1"))
        .Sql = Array( _
        "SELECT Clients.`Code client`, Clients.Societe, Clients.Contact,
Clients.Fonction, Clients.Adresse, Clients.Ville, Clients.Region,
Clients.`Code postal`, Clients.Pays, Clients.Telephone, Clients.Fax" &
Chr(13) & "" & Chr(10) & "F" _
        , _
        "ROM `C:Program FilesMicrosoft OfficeOfficeExemplesCOMPTOIR  
`.Clients Clients" _
        )
        .FieldNames = True
        .RefreshStyle = xlInsertDeleteCells
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .RefreshOnFileOpen = False
        .HasAutoFormat = True
        .BackgroundQuery = True
        .TablesOnlyFromHTML = True
        .Refresh BackgroundQuery:=False
        .SavePassword = True
        .SaveData = True
    End With
End Sub

signaler à un administrateur
Commentaire de Tsagoi le 15/09/2003 12:16:28

citation :'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.

COMMENT ?

svp

merci ;-(

signaler à un administrateur
Commentaire de Le Cyd le 06/06/2006 11:48:27

ACCESS VS/WITH EXCEL. J'ai un probleme avec ces deux applications. J'ai cree une base de donnees sur access qui gere les informations de mon entreprise. Le probleme, c'est que avant que j'arrive dans cette boite, les employes utilisaient excel. Ce qui fait que je dois essayer de faire des mises a jour d'excel vers access.
Ce que je veux dire, c'est que les employes puissent enregistrer leur donnes sur excel mais, qu'en appuyant sur un bouton de validation(qui activerai une macro sans doute ??), leurs donnees soient directement transferees dans la base de donnees Access.De sorte a ce que ca fasse une mise a jour direct.
Mais je ne sais pas du tout comment faire ! Quelqu'un peut-il m'aider ? D'autant plus que je ne connais pas tres bien le langage Visual Basic.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Access vers excel existant ? [ par Franboul ] Bonjour,Quelqu'un aurait-il un exemple de code permettant d'exporter une table access vers un fichier excel déjà existant dans un feuille contenant dé Excel-->Access Update de données [ par Vinzfloz1 ] Bonjour à tous, C'est un petit souci qui revient souvent, malheureusement je n'ai pas trouvé exactement ce dont j'avais besoin. Voici le pb : J'a importer une page excel sur access [ par alio25 ] Bonjour,j'ai vraiment très peu d'expérience sur le sujet ...  alors si quelqu'un a une solution (qui marche à tous les coups) à me proposer, ce serai important [ par zoulou02 ] Slt à tous, j'ai un probleme avec la connexion à une base de données access et un fichier excel, c'est que je veux récupérer les données a partir d'ex [VBA excel] importer table access [ par outofbusiness ] bonjour,Je voudrais pouvoir importer une table access sous excel, et que cette table s'affiche dans une nouvelle feuille de mon classeur excel qui est Importation Excel/Access Problème de date [ par Selune6666 ] Bonjour,Voila j'ai un petit problème et je ne sais pas comment le résoudreJ'importe un fichier excel dans ma base de donnée access et j'ai un problème Copier des valeurs de Excel vers HR Access [ par PhotoLook ] Bonjour à tous,Je voudrais échanger des valeurs entre 2 applications. Les applications concernées sont Excel et HR Access (ou une application créée av importaer des donnés Excel vers Access [ par farrouch ] Bonjour,Je ne connais pas (ou très peu) le langage visual basic...et j'ai comme ambition de transférer des données contenues dans des classeurs excel Ouvrir un fichier excel donné via Access [ par mgued ] Bonjour, j'essaye d'ouvrir un fichier excel via access mais sans succès. L'idée c'est de créer une macro mais j'échoue à chaque fois. Je crée ma macro Access, calcul entre deux dates [ par Maxou le petit ] Bonjour;J'ai besoin de calculer le nombre de jours entre 2 dates en excluant les jours de Week-end et les jours férié ainsi que d'autres jours. Dans e


Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,34 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.