Ecriture de données dans une base access depuis excel

anibal45 Messages postés 1 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 14 novembre 2004 - 14 nov. 2004 à 14:02
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 14 nov. 2004 à 15:53
Bonjour,

pouvez-vous me guider pour écrire des données en VB depuis Excel dans une bae Access
ex: création d'un tableau Excel avec des valeurs de cellules à renseigner, puis enregistrer ses valeurs dans une base de données Access

merci d'une réponse.
Emmanuel

2 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
14 nov. 2004 à 15:50
Salut, je connais un truc pour importer une feuille excel dans access. Teste-le pour voir si ça te va.

' Ce code est en VB6 avec Office 97
'Ne pas oublier de cocher la référence dans Projet
' Microsoft Access x.x Object Library
'
'
Private Sub Command1_Click()
Dim obj_Access As Access.Application
Dim Nom_Base_Access As String
Dim Nom_Fichier_Excel As String

  Nom_Fichier_Excel = "c:\temp\classeur1.xls"
  Nom_Base_Access = "c:\temp\bd1.mdb"
  
  ' Création d'un objet Access
  Set obj_Access = New Access.Application
  
  ' Ouverture de la base Access
  obj_Access.OpenCurrentDatabase Nom_Base_Access
  
  ' Si mot de passe
  'SendKeys MotDePasse & "~"
  
  ' destruction de la table de réception
  On Error Resume Next
  obj_Access.DoCmd.DeleteObject acTable, "table5"
  On Error GoTo 0
  
  ' Importation d'une feuille excel dans access
  ' le 8 c'est pour une base Access 97, essaie 9 pour Access 2000 ou 10 pour Access 2002
  ' Table1 c'est le nom de la table que tu veux créer
  ' toto$ c'est le nom de la feuille que tu veux importer avec un "$" à la fin
  obj_Access.DoCmd.TransferSpreadsheet acImport, 8, "Table1", Nom_Fichier_Excel, False, "toto$"
  ' Fermeture de la base
  obj_Access.Quit
  
  ' Libération de la mémoire
  Set obj_Access = Nothing

End Sub


Bonne prog

Cordialement, CanisLupus
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
14 nov. 2004 à 15:53
Un tit oubli,

Dans obj_Access.DoCmd.DeleteObject acTable, "table5", le table5 c'est Table1 pour le reste de l'exemple. G testé et pas tout traduit. Scuses

Cordialement, CanisLupus
0
Rejoignez-nous