Importation de excel à Base de données Access deja établie [Résolu]

Signaler
Messages postés
42
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
27 octobre 2004
-
Messages postés
42
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
27 octobre 2004
-
Hello à tout le monde...

Je parcours assez souvent ce forum depuis que je suis en stage en entreprise dans son service informatique et c'est avec plaisir que à mon tour, je demande de l'aide.

Ma mission est de faire a terme une application web. (mais ça j'ai pas a le faire)

Ce que je dois faire exactement est une application VB qui emule un site intranet (plutot un outil qu'un site mais dispo via intranet de l'entreprise)

Je ne suis qu'en premiere année en ecole d'informatique (le bac jlé eu l'année derniere) donc VB et moi ça fais encore 2.

L'appli doit lister l'ensemble de tous les sites intranet de l'entreprise et leurs details.
Pour l'instant tt ceci existe sous forme de fichiers excel.

Mais ce n'est pas un seul fichier excel qui repertorie tous les sites et ts les details sous forme de tableau
En fait, il y a un fichier excel par site avec toutes les données dans un tableau. Et tous les fichiers excel (fiches de sites) ont la meme 'nomenclature' donc ont le meme tableau sous la meme forme, mais les données sont differentes

Mon probleme, c'est que jai une base de donnée (assez complexe) qui est deja établie sur ACCESS avec une dizaine de table dedans ! ( les champs etant deja etablis aussi dans mes tables....)

Je cherche donc un moyen de pouvoir transferer les données de chaque fiche excel, dans une ligne (sur chaque table donc) de ma base de données access. et ainsi pouvoir le faire avec toutes les fiches de sites.

et mes competences depassent le stade d'un belle mise en forme grahique sur VB (le codage et la prog, je me debrouille, mais je debute...)

SI quelqu'un a une solution ça serait sympa....

Une fois ce probleme réglé, je penses que j'aurais d'autres questions...mais la je bloque vraiment la dessus...

Merci D'avance

Tchoo

7 réponses

Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Premiérement pour Ouvrir ton fichier EXCEL :
Coches...Projet Références Microsoft Excel XX Object Library

' Ouvre l'application Excel
Set MonXl = CreateObject("Excel.Application") ' Ceci initialise la variable et charge Excel en arrière plan
MonXl.Visible = True 'Rend Excel visible...
MonXl.UserControl = True
' Ouvre MonFichier
MonXl.Workbooks.Open FileName:="C:\MonFichier.xls"

It@li@
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Deuxiémement pour Ouvrir la Base
Coches...Projet Références Microsoft DAO XX Object Library

Set Db = OpenDatabase("C:\MaBase.mdb") ' Définition base de donnée
Set Req = Db.OpenRecordset("SELECT * FROM TaTable")
Req.AddNew
Req(1)= MonXl.Range("B4").Value' Copie les valeurs
Req(2)=MonXl.Range("B5").Value
Req.Update
Set Req=Nothing
Set Db=Nothing

It@li@
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
1) Pour la seconde Table :

Set Req = Db.OpenRecordset("SELECT * FROM TaTable")
Req.AddNew
Req(1)= MonXl.Range("B4").Value' Copie les valeurs
Req(2)=MonXl.Range("B5").Value
Req.Update
Set Req=Nothing
<s>Set Db=Nothing</s>

Set Req = Db.OpenRecordset("SELECT * FROM TaTable2")
Req.AddNew
Req(1)= MonXl.Range("B4").Value' Copie les valeurs
Req(2)=MonXl.Range("B5").Value
Req.Update
Set Req=Nothing
Set Db=Nothing

Tu fermes la connexion qu'a la Fin..avec 1 seul Set Db=Nothing

2) Pour une Autre Feuille :

With MonXl.ActiveWorkbook.Worksheets("Feuil2")
Req(1)=.Range("B3").Value
Req(2)=.Range("B4").Value
Req(3)=.Range("E3").Value
End With

It@li@
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
42
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
27 octobre 2004

MERCI Beaucoup pour tes réponses mais y a t'il une suite ????

Sinon je tapes cela dans le code d'un projet VB, et pour le lancer ça se passe comment?

Merci encore !
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Non pas de Suite...

Tu mets tous le Code dans l'evenement Cliuck d'un Bouton par Exemple.

It@li@
Messages postés
42
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
27 octobre 2004

SUPER ça marche IMPEC, je te remercie vraiment beaucoup, grace à toi je peux avancer dans mon projet :-D

Cependant, juste une ou deux petites question que je l''espere tu vas repondre très rapidement.

1 ) Lorsque je dois rentrer les informations ds une autre table faut il faire comme cela?

Set Req = Db.OpenRecordset("SELECT * FROM TaTable")
Req.AddNew
Req(1)= MonXl.Range("B4").Value' Copie les valeurs
Req(2)=MonXl.Range("B5").Value
Req.Update
Set Req=Nothing
Set Db=Nothing

Set Req = Db.OpenRecordset("SELECT * FROM TaTable2")
Req.AddNew
Req(1)= MonXl.Range("B4").Value' Copie les valeurs
Req(2)=MonXl.Range("B5").Value
Req.Update
Set Req=Nothing
Set Db=Nothing

?????

2) Si des données se trouvent sur un classeur excel avec plusieurs feuilles (sheet), comment faire, pour passer aux autres feuilles avec le code, car la il me prends les informations seulement de la premiere feuille.

Tu peux assembler les deux reponses ensemble si possible??

Merci Beaucoup

:big)
Messages postés
42
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
27 octobre 2004

MAGNIFIQUE, je te remercie vraiment beaucoup, c'est super sympa de m'aider et d'avoir si bien compris mon probleme posé !

@+