Code VBA pour exporter des données Excel vers Access

Code VBA pour exporter des données Excel vers Access
Table des matières

Exporter des données Excel vers Access avec VBA (Images et Code)

Qu'est-ce que c'est ?

Ce code VBA vous aide à télécharger ou exporter des données Excel vers Access en un clic.

Pourquoi ?

Tu peux exporter des données Excel vers Access sans même ouvrir la base de données Access.

Comment exporter des données Excel vers Access

Étape 1: Ouvrez le Exceller et se rendre dans le générateur de code VBA (Alt + F11) et ouvrir un nouveau module.

.Exporter des données Excel vers Access

Étape 2: Copiez et collez le code ci-dessous.

Const TARGET_DB = "myDB.accdb" Remplacez 'myDB.accdb' par le nom de votre base de données, assurez-vous que les bases de données Excel et Access se trouvent sur le même chemin.
Sub PushTableToAccess()
Dim cnn As ADODB.Connection
Dim MyConn
Dim rst As ADODB.Recordset
Dim i As Long, j As Long
Dim Rw As Long

Sheets("Nom de la feuille").Activate Remplacez le "Nom de la feuille" par le nom de votre feuille Excel.
Rw = Range("A65536").End(xlUp).Row
Donnez à votre feuille Excel une plage de données

Set cnn = Nouvelle connexion ADODB
MyConn = ThisWorkbook.Path & Application.PathSeparator & TARGET_DB

Avec cnn
.Provider = "Microsoft.ACE.OLEDB.12.0"
Ouvrir MyConn
Terminer par

Remplacez "tblMyExcelUpload" par le nom de votre table dans Access.

Set rst = New ADODB.Recordset
rst.CursorLocation = adUseServer
rst.Open Source:="tblMyExcelUpload", ActiveConnection:=cnn, _
CursorType:=adOpenDynamic, LockType:=adLockOptimistic, _
Options:=adCmdTable

Chargement de tous les enregistrements d'Excel vers Access.
Pour i = 2 à Rw
rst.AddNew
Pour j = 1 à 7
rst(Cells(1, j).Value) = Cells(i, j).Value
J suivant
rst.Update
Suivant i

' Fermer la connexion
rst.Close
cnn.Fermer
Set rst = Rien
Set cnn = Nothing

Fin du sous-marin

Étape 3Cliquez sur le bouton Exécuter ou sur F5 (vous pouvez également insérer un bouton/une forme dans la feuille Excel, puis faire un clic droit et assigner cette macro pour qu'elle s'exécute à chaque fois). Vous avez terminé le téléchargement ! Les enregistrements Excel ont été téléchargés avec succès dans Access. Ouvrez votre table de base de données Access et vérifiez les données.

Exporter des données Excel vers Access

Note: Assurez-vous que l'option "Microsoft ActiveX Data Objects Library" est activée dans l'écran d'accueil. Outils - Références (le numéro utilise la dernière version [6.1 au moment de la publication de cet article]).

Adodb_Exportation de données Excel vers AccessÉpingle



Image de Anson Antony
Anson Antoine
Anson est un auteur collaborateur et le fondateur de www.askeygeek.com. Sa passion pour l'apprentissage de nouvelles choses l'a conduit à créer askeygeek.com, qui se concentre sur la technologie et les affaires. Avec plus d'une décennie d'expérience dans l'externalisation des processus d'entreprise, la finance et la comptabilité, les technologies de l'information, l'excellence opérationnelle et l'intelligence économique, Anson a travaillé pour des entreprises telles que Genpact, Hewlett Packard, M*Modal et Capgemini, où il a occupé différents postes. En dehors de ses activités professionnelles, il est un cinéphile qui aime passer des heures à regarder et à étudier le cinéma, et il est également cinéaste.

8 réponses

  1. Bonjour à tous ;

    Ces deux chemins d'accès doivent-ils être identiques pour que la connexion ADODBC fonctionne ? C'est-à-dire les chemins ThisWorkbook.Path et Target_DB.
    Commandement d'en haut :
    ThisWorkbook.Path & Application.PathSeparator & TARGET_DB

    Ou bien, le chemin d'accès au classeur peut-il être le suivant : "Workbook.Path" ?
    "C:\NMyExcelFiles\NMyWorkbook.xlsx" et la base de données Access TARGET_DB se trouve dans
    "C:\NMyDataBases\NMyAccessDB.accdb" ?

    Mon code fonctionne lorsque le classeur Excel et la base de données Access se trouvent dans le même dossier, mais lorsqu'ils se trouvent dans des dossiers différents (structure de bibliothèque correctement organisée), le code échoue au point .Open MyConn.

    Merci à tous,
    Mario,

  2. Bonjour,

    mon code s'exécute jusqu'à ce que

    Sheets("Nom de la feuille").Activate

    J'ai sélectionné la feuille, mais rien ne se passe.

    Pouvez-vous nous conseiller ?

    Merci de votre attention.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Toutes nos félicitations!
Tu l'as fait,
Ne fermez pas !

Accès UberCreate Creator Pro
gratuitement!!!

Cette fenêtre contextuelle ne montrera pas à toi de voir encore!!!

29
Partager avec...