easy_smiler
Messages postés2Date d'inscriptionmardi 21 mars 2006StatutMembreDernière intervention22 mars 2006
-
22 mars 2006 à 09:29
easy_smiler
Messages postés2Date d'inscriptionmardi 21 mars 2006StatutMembreDernière intervention22 mars 2006
-
22 mars 2006 à 17:13
Bonjour à tous,
Dans le cadre du boulot, on me demande de me remettre au VBA et j'ai une pression d'enfer pour programmer un truc, dont voilà l'exposé.
J'ai un fichier Excel appelé "source.xls" qui est stocké à la racine (c :) de mon HDD. Ce fichier comporte 4 onglets ce mois ci, nommés A, B, C et D (mais les noms des onglets, le nombre d'onglet et le contenu des onglets peuvent varier chaque mois).
Je souhaite donc importer, chaque mois en pressant sur un bouton d'un formulaire, de façon automatique ce fichier dans Access en créant une table pour chaque onglet, dont le nom sera le nom de l'onglet et le contenu le contenu de l'onglet. Je n'y arrive pas du tout et je suis perdu.
Est-ce que l'un d'entre vous aurez un bout de code à me copier coller pour me sortir de cet enfer?
cs_jordinette
Messages postés134Date d'inscriptionmercredi 2 mars 2005StatutMembreDernière intervention 5 avril 2007 22 mars 2006 à 16:57
Bonjour,
apart faire un code derrière ton bouton de formulaire, qui selectionne ta plage de données de l'onglet A, et la collé dans la table par le principe du copier/coller et pareil pour les 3 autres...
Jordinette
easy_smiler
Messages postés2Date d'inscriptionmardi 21 mars 2006StatutMembreDernière intervention22 mars 2006 22 mars 2006 à 17:13
Je me réponds moi même car je viens de trouver la solution. Voici le bout de code que j'ai collé derrière mon bouton de formulaire et qui fonctionne.
Dim xlApp As Object
Dim xlBook As Object
Dim xlSheet As Object
Dim Pathfic, NomFic As String
Dim i As Integer
Pathfic = "C:"
NomFic = "PL.xls"
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(Pathfic & NomFic)
i = 1
Do While i <= xlBook.worksheets.Count
Set xlSheet = xlBook.worksheets(i)
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, xlSheet.Name, Pathfic & NomFic, True, xlSheet.Name & "!"
i = i + 1
Set xlSheet = Nothing
Loop