Lister le nom des onglets d'un feuille excel avec access vb [Résolu]

dakar2003 3 Messages postés vendredi 11 novembre 2005Date d'inscription 21 août 2008 Dernière intervention - 15 mai 2006 à 16:54 - Dernière réponse : Molenn 797 Messages postés mardi 7 juin 2005Date d'inscription 23 février 2011 Dernière intervention
- 16 mai 2006 à 14:15
Bonjour,
J'ai besoin dans un formulaire Access de lister le nom des onglets d'une feuille Excel et de faire l'import de celui qui a été sélectionné. Ceci sans utiliser l'assistant d'import Access, puisque cette appli est exécuter avec le RunTime access.<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />


Merci de votre aide.
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Molenn 797 Messages postés mardi 7 juin 2005Date d'inscription 23 février 2011 Dernière intervention - 16 mai 2006 à 14:15
3
Merci
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

Merci Molenn 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de Molenn

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.