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

Messages postés
3
Date d'inscription
vendredi 11 novembre 2005
Dernière intervention
21 août 2008
- - Dernière réponse : Molenn
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Dernière intervention
23 février 2011
- 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
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Dernière intervention
23 février 2011
5
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

Dire « Merci » 3

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

Codes Sources 114 internautes nous ont dit merci 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.