Réponse acceptée !
Pour lister le nom des onglets de ton fichier Excel à partir d'ACCESS, tu dois ouvrir un objet Excel. Pour cela, il faut déjà que dans ton projet, tu références Excel : Menu Outils\Référence\Microsoft Excel 11.0 doit être coché
Ensuite, tu adaptes à ce dont tu as besoin, ce p'tit bout de code que je viens de te faire à l'arrache :
Dim Fichier As Excel.Application Dim FichierTest As Excel.Workbook Dim i As Integer Dim Temp As String Set Fichier = CreateObject("Excel.Application") Fichier.Visible = True Set FichierTest = Fichier.Workbooks.Open("C:\test.xls") 'Chemin du fichier Temp = "" For i = 1 To FichierTest.Sheets.Count Temp = Temp & FichierTest.Sheets(i).Name & Chr(10) Next i Fichier.Workbooks("test.xls").Close Set Fichier = Nothing
Avec ce code, écrit dans un bouton d'un formulaire ACCESS, je force l'ouverture de mon fichier Excel test.xls, je récupère le nom des différentes feuilles dans une variable que j'affiche dans un msgbox, une fois le fichier Excel refermé.
Pour l'import de celui qui est sélectionné, cela va être beaucoup plus dur puisque tu pilotes à partir d'ACCESS, je pense qu'il va falloir que tu cherches du côté de : ActiveCell.Worksheets.Name (ActiveWorkbook existe, mais à priori, pas ActiveWorksheet), tu récupèreras ainsi le nom de l'onglet sélectionné dans une cellule et après, à toi de gérer tes opérations. L'import sera à gérer avec la commande DoCmd.TransferText (je te laisse chercher dans l'aide d'ACCESS) ou alors, via une macro dans ACCESS si tu développes une interface complète, c'est peut être même plus pratique. A voir selon tes besoins.
Bonne recherche ^^
Molenn
|