[Access97] macro d'importation données Excel
Salut tout le monde!!!
J'ai un pblm avec Access97. En fait j'essai de créer un macro qui va importer des données à partir d'une table Excel. Mais je n'arrive pas indiquer le chemin vers une feuille donnée (quand j'essai de recuperer données de 2° feuille, j'ai une erreur: il lit que les données de la 1° feuille). Je galère deja 2 jours...
Merci d'avance pour votre réponse!
J'ai un pblm avec Access97. En fait j'essai de créer un macro qui va importer des données à partir d'une table Excel. Mais je n'arrive pas indiquer le chemin vers une feuille donnée (quand j'essai de recuperer données de 2° feuille, j'ai une erreur: il lit que les données de la 1° feuille). Je galère deja 2 jours...
Merci d'avance pour votre réponse!
1 réponse
-
Salut Christophe
essaye dans le macros d'utliser arrêt maxro apprès la 1ère importation ensuite importer la second feuil.
voici un code vba
Déclaration:
Dim appexcel as Excel.Application
Dim wbexcel as Excel.Workbook
Ne pas oublier de cocher dans le menu Outil/Références, la bibliothèque Microsoft Excel X Object Library (avec x = 8 pour Excel 97, x = 9 pour Excel 2000, x = 10 pour excel XP, x = 11 pour excel 2003).
Bonne chance.
Merci
Appel du fichier Excel :
Set appexcel = CreateObject("Excel.Application")
appexcel.Visible = True
Set wbexcel = appexcel.Workbooks.Open("Chemin du fichier Excel")
Appel de la feuille correspondante :
appexcel.Sheets("Feuil1").Select
Remplissage dans Excel (Exemple à partir d'une requête), sur des cellules bien précises.
appexcel.cells(5, 2) = rst![Nomduchamps]
appexcel.cells(5, 4) = rst![Nomduchamps]
appexcel.cells(5, 7) = rst![Nomduchamps]
Attention la cellule (5,2) correspond à la cellule B5 d'excel. la fonction rst correspond à un enregistrement RecordSet.-
-
@ChristopheSalut christophe,
bon week end même si en retard.
je suis un débutant en access vous trouverez beaucoup d'information sur le site developpez.com -> acces->faqaccess
http://access.developpez.com/faq/
bonne chance.
Bon retour au boulôt.
Merci. -
@mohammedSalut Mohammed!
En fait j'ai trouvé! (ton exemple faisait le procedure inverse - Acceszs-> Excel)
Il fallait seulement dans l'étendue de la plage à importer préciser l'onglet.
Ex.: pas A1:D5 - mais Feuille!A1:D5
Voila! Allez ciao et bonne chance! -
@ChristopheSalut christophe,
bien joué peut être que j'ai mal compris votre question.
onne chance.
Merci.
-