Importer un fichier excel dans access ?

Résolu
foliop
Messages postés
191
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
27 octobre 2008
- 29 oct. 2004 à 09:46
cs_ITALIA
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
- 29 oct. 2004 à 15:29
salut

jaimerai pouvoir importer des données contenues dans un fichier excel directement dans ma table access ?

merci

17 réponses

cs_ITALIA
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
9
29 oct. 2004 à 15:29
la c un autre souci , il faudrait voir le code de remplissage du treeView ( il ne doit pas être TOP )!
on est plus dans le même sujet..
coches reponses accptées

It@li@
3
cs_ITALIA
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
9
29 oct. 2004 à 11:01
il y a plusieurs methodes voici celle que j'utilise :
en DAO
coches Projet...Références...Microsoft DAO 3.51 Object Library
et Microsoft Excel XX Object Library

en haut de ta Form :
Public ClasseurXLS As Object

dans le Code de ton bouton par exemple :
Set ClasseurXLS = CreateObject("Excel.application")
ClasseurXLS.Workbooks.Open "C:\MonFichier.xls"
mousepointer=11

ValTitle = ClasseurXLS.Cells(1, "B")
ValLocation = ClasseurXLS.Cells(2, "B")
ValVille = ClasseurXLS.Cells(3, "B")
ValCodePostal = ClasseurXLS.Cells(4, "B")
ValDate = ClasseurXLS.Cells(5, "B")
Set Db = OpenDatabase("C:\MaBase.mdb")
Set Req= Db.OpenRecordset("SELECT * FROM TaTable")
Req.Addnew
Req(1)=ValTitle
Req(2)=ValLocation
Req(3)=ValVille
Req(4)=ValCodePostal
Req(5)=ValDate
Req.Update
Set Req=Nothing
Set Db=Nothing
ClasseurXLS.Workbooks.Close ' Fermeture du Classeur d' Importation

mousepointer=1

It@li@
0
foliop
Messages postés
191
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
27 octobre 2008

29 oct. 2004 à 11:13
je vais essayer merci

mais cette méthode ouvre excel ou cest transparant ?
0
cs_ITALIA
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
9
29 oct. 2004 à 11:33
Transparent pour le Users

It@li@
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
foliop
Messages postés
191
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
27 octobre 2008

29 oct. 2004 à 11:46
merci
0
foliop
Messages postés
191
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
27 octobre 2008

29 oct. 2004 à 12:26
ValTitle = ClasseurXLS.Cells(1, "B")

B correspond a quoi ?
0
foliop
Messages postés
191
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
27 octobre 2008

29 oct. 2004 à 12:30
ah jai trouvé : a la colonne Excel
0
foliop
Messages postés
191
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
27 octobre 2008

29 oct. 2004 à 12:31
par contre jai un soucis

voila dan ma colonne excel je vais avoir plein de ligne seulement je ne connaitrais pas a lavance combien il y a de ligne

ValTitle = ClasseurXLS.Cells(1, "B")

faudrait faire une boucle pour quil enregistre tout ce quil trouve dans la colonne B mais jy arrive pas
0
cs_ITALIA
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
9
29 oct. 2004 à 13:11
tu as qu'a les stocker dans un tableau

It@li@
0
foliop
Messages postés
191
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
27 octobre 2008

29 oct. 2004 à 13:12
cest a dire ?
jvois pas le code a faire
0
cs_ITALIA
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
9
29 oct. 2004 à 13:24
dans ta base tu veux tous stocker dans une colonne ou tu as différents champs ??
si tu as qu'une colonne c simple

It@li@
0
foliop
Messages postés
191
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
27 octobre 2008

29 oct. 2004 à 13:31
nan jai 4 colonnes dans mon fichier excel que je veux stocker dans 4 champs dans ma base
0
cs_ITALIA
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
9
29 oct. 2004 à 13:46
Ok voici alors le code :

en haut de ta Form :
Public ClasseurXLS As Object

dans le Code de ton bouton par exemple :
Set ClasseurXLS = CreateObject("Excel.application")
ClasseurXLS.Workbooks.Open "C:\MonFichier.xls"
mousepointer=11

For i = 1 to 2000
ValTitle = ClasseurXLS.Cells(1, "B")
ValLocation = ClasseurXLS.Cells(2, "B")
ValVille = ClasseurXLS.Cells(3, "B")
ValCodePostal = ClasseurXLS.Cells(4, "B")
If ValTitle="" and ValLocation ="" and ValVille ="" and ValCodePostal ="" then exit for
Set Db = OpenDatabase("C:\MaBase.mdb")
Set Req= Db.OpenRecordset("SELECT * FROM TaTable")
Req.Addnew
Req(1)=ValTitle
Req(2)=ValLocation
Req(3)=ValVille
Req(4)=ValCodePostal
Req.Update
Next

Set Req=Nothing
Set Db=Nothing

ClasseurXLS.Workbooks.Close ' Fermeture du Classeur d' Importation

mousepointer=1

It@li@
0
cs_ITALIA
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
9
29 oct. 2004 à 13:47
Excuse mais le
Set Db = OpenDatabase("C:\MaBase.mdb")
Set Req= Db.OpenRecordset("SELECT * FROM TaTable")

il est préférable de le mettre avant la boucle For

It@li@
0
foliop
Messages postés
191
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
27 octobre 2008

29 oct. 2004 à 13:56
ca menregistre 2000 champ meme si il ya rien dans 1990 dentre eux

en fait il prend tout au lieu de prendre seulement ceux qui sont rempli
0
cs_ITALIA
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
9
29 oct. 2004 à 14:04
changes alors le test des ligne ainsi :

If len(ValTitle)=0 and len(ValLocation) =0 and len(ValVille) =0 and len(ValCodePostal) =0 then exit for

It@li@
0
foliop
Messages postés
191
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
27 octobre 2008

29 oct. 2004 à 15:20
alors ca marche bien, ca enregistre dans la base mais soucis :
- lorsque jaffiche les infos dans mon listview il veut pas afficher lorsque le champ est vide (ex : nom michel ; prenom rien)
0