Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
659 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  exporter données à partir d'excel vers une table access

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

exporter données à partir d'excel vers une table access

n°2004835
ben compta
Posté le 25-06-2010 à 16:10:57  profilanswer
 

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

mood
Publicité
Posté le 25-06-2010 à 16:10:57  profilanswer
 

n°2004849
olivthill
Posté le 25-06-2010 à 16:52:50  profilanswer
 

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.


Message édité par olivthill le 25-06-2010 à 16:54:12
n°2005167
ben compta
Posté le 28-06-2010 à 09:19:27  profilanswer
 

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.

n°2005238
ben compta
Posté le 28-06-2010 à 12:05:34  profilanswer
 

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 :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  exporter données à partir d'excel vers une table access

 

Sujets relatifs
[VB/Excel]Comparer liste excel avec liste de fichierssql 2008 messagerie de base de données
Copie automatique fichier excel à heure fixeCréation formulaire de recherche très simple depuis données excel
VBA et Excel aller chercher des données sur d'autres fichiersUrgent SQL vers Oracle
problème affichage données mysql/php[RESOLU][vbs]access denied
Plus de sujets relatifs à : exporter données à partir d'excel vers une table access


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR