exporter données à partir d'excel vers une table access - VB/VBA/VBS - Programmation
Marsh Posté le 25-06-2010 à 16:52:50
TableAlerte a besoin de guillemets si c'est le nom de la table. Sinon, VBA considère que c'est une variable qui contient le nom de la table, et si cette variable n'est pas remplie, VBA pense qu'il manque le nom de la table.
Edit : Idem pour Feuilles.alerte.
Marsh Posté le 28-06-2010 à 09:19:27
Merci pour l'info.
j'ai rajouté les guillemets, mais le même message d'erreur continue à apparaître.
Il se peut que la macro ne trouve pas la table alerte et donc que l'erreur se trouve en étape 3.
Marsh Posté le 28-06-2010 à 12:05:34
j'ai finalement trouver une solution :
Sub alerte()
'ouverture du fichier access
Dim objAccess As New Access.Application
objAccess.OpenCurrentDatabase "\\Acd\stage benjamin\base de données\reporting_mailing.mdb"
objAccess.Visible = True
'execution de la macro access afin d'importer les données
objAccess.DoCmd.RunMacro "alerte"
End Sub
En gros, j'ouvre le fichier access et j'y active une macro qui importe les données voulues.
c'est aussi simple que ça
Marsh Posté le 25-06-2010 à 16:10:57
Bonjour,
Dans le cadre d'un stage, j'ai à mettre en place un système de message d'alerte par mail.
Pour faire simple, l'utilisateur ouvre un fichier excel, renseigne les données nécessaires dans une première feuille.
Ensuite, il active une macro qui va envoyer ces données dans une table access afin d'archiver les données du message.
Voici comment j'ai conçu la macro afin de réaliser cette tache :
Sub importation()
'1) définition des applications
Dim appAS As Access.Application, wbXL As Excel.Application
'2) ouverture d' access
Set wbXL = CreateObject("access.Application" )
appAS.Visible = False
With appAS
'3) ouverture fichier reporting_mailing.mdb
Workbooks.OpenDatabase Filename:="C:\Documents and Settings\Benjamin Corroy\Mes documents\reporting_mailing.mdb", _
CommandText:="Orders", _
CommandType:=xlCmdTable, _
BackgroundQuery:=True, _
ImportDataAs:=xlPivotTableReport
'4) importation des données à partir de cellules ciblées de la feuille alerte, du fichier test.xls
DoCmd.TransferSpreadsheet acImport(acSpreadsheetTypeExcel9, TableAlerte, "C:\Documents and Settings\Benjamin Corroy\Mes documents\test.xls", Feuilles.alerte & "!A2:G2" )
'5) fermeture Access
appAS.Quit
End Sub
lors du debogage, le message suivant apparait au niveau de l'étape 4 (acImport) :
erreur de compilation : Table attendu
Etant novice en la matière j'espère que chaque étape est bien écrite
j'aimerais savoir pourquoi l'étape 4 bloque ainsi.
Merci d'avance