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é: 36 355 / 33 319

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

Copier un etat access vers Excel [ par Ol ] Je voudrais copier un etat access (un tableau) vers Excel sans perdre la mise en page (ou le moins possible).Comment faire?? Env des infos d'access vers Excel [ par DVDNet ] Alors, j'explique rapidement le but des opérations. Je voudrais envoyer le résultat d'une requète vers un fichier Excel (jusque là ça va;) puis ouvrir exporter données access sous excel [ par gitan ] Je voudrais basculer à partir d'un formulaire access qui saisi 2 dates, dans un tableur excel pour griser des cases qui correspondent aux jours entre Enregistrement de données ACCESS via EXCEL [URGENT] [ par Metos ] J aimerais savoir si il est possible d ouvrir une connextion ACCESS via VBA sous excel, afin que les données saisie par l'utilisateur via un userform Connexion ADO de excel VERS ACCESS help !! :'( [ par Metos ] Sub Connexion() Deconnexion 'Au cas ou ! Objconn.Open "PROVIDER=MSDASQL.1;DSN=" & "TestADO", UserId:="", Password:="" Quel est le Provider Excel et Access [ par Christophe ] Salut à tous,A partir de mon projet VB j'ai deux questions: Excel1)Je voudrai iconifier Excel à son ouverture, j'ai écrisExcel.Application transfert de données de VBA vers ACCESS [ par pearl ] j'ai créé une application excel et je voudrais récupérer les données résultant du traitement pour les inserer automatiquement dans une Table Access.En Enregistrer des données sous Access... Par excel .. [Important] [ par Metos ] Je desire faire un userform sous EXCEL et par une procedure VBA enregistrer les éléments saisie par l'utilisateur sous ACCESS.Merci copier un tablo excel vers access [ par Michael ] Comment faire pour copier un tableau excel sous accessExple :-------------------------------| ID | Prénom | Nom |------------------------- copier un tablo excel vers access [ par Michael ] Comment faire pour copier un tableau excel sous accessExple :-------------------------------| ID | Prénom | Nom |-------------------------


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

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

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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,577 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é.