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

Résolu/Fermé
wil2168 - 7 oct. 2020 à 10:58
yg_be Messages postés 22717 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 22 avril 2024 - 9 oct. 2020 à 08:47
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 22717 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 22 avril 2024 1 476
7 oct. 2020 à 15:10
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
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 22717 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 22 avril 2024 1 476
8 oct. 2020 à 00:28
plutôt, alors:
DoCmd.TransferSpreadsheet acImport, 10, "onglet2" , filepath, True, nomonglet + "!A9:H15" 
0
merci cela fonctionne
1
yg_be Messages postés 22717 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 22 avril 2024 1 476
9 oct. 2020 à 08:47
peux-tu alors marquer la discussion comme résolue?
0