Import excel vers acess avec une partie de chaine de caractère

Résolu
wil2168 -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour

je souhaite sélectionner les données dans un onglet d'une feuille excel
le problème est que le nom de la feuille se compose d'une partie fixe et d'une partie variable
je n'arrive pas à demander à acces d'importer les données de l'onglet uniquement en prenant en compte la partie fixe du nom de l'onglet

le nom de ma feuille est : onglet2 (75)
onglet2 est la partie fixe
(75) est la partie variable

je souhaite importer les données uniquement en prenant en compte onglet2 qui est la partie fixe

j'ai le code ci-dessous pouvez vous m'aider à l'adapter

Private Sub import_excel_onglet_2_Click()

Dim filepath As String
Dim qty_data_file As Double

filepath = "C:\Users\HP\Documents\access_exo\import_excel_vers_access.xlsx"


'ajout data du fichier excel
DoCmd.TransferSpreadsheet acImport, 10, "test_onglet2", filepath, True, "onglet2!A9:H15"


end sub

cdt
A voir également:

3 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, moi j'essaierai ceci:
Dim filepath As String, nomonglet As String, wb As excel.Workbook, ws As excel.Worksheet
filepath = "C:\Users\HP\Documents\access_exo\import_excel_vers_access.xlsx"
Set wb = excel.Workbooks.Open(filepath)
For Each ws In wb.Worksheets
    If InStr(ws.Name, "onglet2") = 1 Then
        nomonglet = ws.Name
        wb.Close
        DoCmd.TransferSpreadsheet acImport, 10, nomonglet, filepath, True, "onglet2!A9:H15"
        Exit For
    End If
Next ws

pour lequel tu devras ajouter "Microsoft Excel nn Object Library" dans les références du projet.
1
wil2168
 
Bonjour

je te remercie pour ta réponse
la partie "InStr(ws.Name, "onglet2") = 1" fonctionne bien
pour la variable "nomonglet" elle récupère le nom de l 'onglet avec la partie fixe et la partie variable. Ceci entraine un message d'erreur à ce niveau
DoCmd.TransferSpreadsheet acImport, 10, nomonglet, filepath, True, "onglet2!A9:H1

ce message est du au faite que ma table porte le nom de la partie fixe uniquement
je me pose également des questions pour la partie "onglet2!A9:H15" . elle peut engendré des erreurs egalement car "onglet2" est la partie fixe de la feuille
1
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
plutôt, alors:
DoCmd.TransferSpreadsheet acImport, 10, "onglet2" , filepath, True, nomonglet + "!A9:H15" 
0
wil2168
 
merci cela fonctionne
1
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
peux-tu alors marquer la discussion comme résolue?
0