Bonjour a tous,
Tout d'abord je m'excuse pour le double poste, mais je ne sais pas si cela relève des Macros ou du VBA. Je n'y connais pour l'instant pas grand chose, j'ignore si je dois préparer l'import en créant des tables, des champs ou autres?
Je souhaite importer dans ACCESS sous forme de tables les onglets d'un fichier Excel.
J'ai trouvé le code suivant (que je ne comprends pas:
Et lors de l'exécution j'ai l'erreur suivante qui apparaît au niveau de la ligne en gras:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 Sub ImportationGlobale() Dim appXl As Excel.Application Dim intNbFeuille As Integer Dim intIndex As Integer Dim avarTabFeuille() As Variant Dim WorkSheet As Excel.WorkSheet Dim tdf As TableDef Set appXl = CreateObject("Excel.Application") intNbFeuille = 1 'OUVRE LE FICHIER .XLS ET TROUVE LERS DIFFERENTES FEUILLES With appXl .Workbooks.Open "C:\Users\Desktop\3-Select BDD ACCESS.xlsm" ReDim avarTabFeuille(.Worksheets.Count) For Each WorkSheet In .Worksheets avarTabFeuille(intNbFeuille) = WorkSheet.Name intNbFeuille = intNbFeuille + 1 Next .Quit End With Set appXl = Nothing 'CREE UNE TABLE LINKEE POUR CHACUNES DES FEUILLES TROUVEES For intIndex = 1 To UBound(avarTabFeuille) fEntrer = False Set tdf = CurrentDb.CreateTableDef(avarTabFeuille(intIndex)) tdf.Connect = "Excel 5.0;DATABASE=" & Result tdf.SourceTableName = avarTabFeuille(intIndex) & "$" CurrentDb.TableDefs.Append tdf CurrentDb.TableDefs.Refresh Next End Sub
Le chemin d'accès est le bon car avant il ne le trouvait pas, j'avais un autre message et il est en mesure de lire le nom du premier onglet.Erreur d'exécution '3011':
Le moter de base de données Microsoft Access n'a pas pu trouver l'objet "Nom du premier onglet". Vérifier qu'il existe que vous avez correctement entré son nom et son chemin d'accès...
Quelqu'un aurait il une solution? Et surtout la possibilité de m'expliquer comment et pourquoi ça fonctionne ?
Merci d'avance,
Partager