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 permet de télécharger ou d'exporter des données Excel vers Access en un seul clic.

Pourquoi ?

Vous pouvez 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 AccessPin


Anson Antoine
Anson Antoine
Anson est auteur collaborateur et fondateur de www.askeygeek.com. Apprendre quelque chose de nouveau a toujours été sa passion, ASKEYGEEK.com est le résultat de sa passion pour la technologie et les affaires. Il possède une décennie d'expérience polyvalente dans l'externalisation des processus métiers, la finance et la comptabilité, les technologies de l'information, l'excellence opérationnelle et la business intelligence. Au cours de son mandat, il a travaillé pour des organisations telles que Genpact, Hewlett Packard, M*Modal et Capgemini dans divers rôles et responsabilités. En dehors des affaires et de la technologie, c'est un cinéphile qui passe des heures ensemble à regarder et à apprendre le cinéma et un cinéaste aussi !

9 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 !
Saisissez votre chance de gagner 100 000 crédits de personnage UberTTS
Merci pour votre visite!

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

L'œuf de Pâques UberTTS 100K
28
Share to...