A voir également:
- Importer chaque onglet d’un Excel comme un « record » dans acces
- Liste déroulante excel - Guide
- Rouvrir un onglet fermé - Guide
- Si et excel - Guide
- Acces rapide - Guide
- Trier un tableau excel - Guide
2 réponses
bonjour merci pour la réponse, mais sur un autre forum on m'a répondu avec le code que j'avais besoin et pas besoin que les onglets est le même nom, au contraire avec le code que j,ai ça importe même le nom de l'onglet dans un champs de mon enregistrement.. si ça peux aider qq'un d’autre voici le code:
----------------------
Private Sub Commande7_Click()
'Déclaration des variables nécessaires
'Dans outils tu dois avoir la référence Excel de cocher
Dim db As DAO.Database: Set db = CurrentDb
Dim rst As DAO.Recordset
Dim strSQL As String
Dim xl As Excel.Application
Dim wbk As Excel.Workbook
Dim i As Long
'On ouvre un record set
strSQL = "SELECT T_Table.Cie, T_Table.compte, T_Table.ajustéavant, T_Table.ajustéaprès, T_Table.imputé, T_Table.àcrédité, T_Table.OngletExcel FROM T_Table;"
Set rst = db.OpenRecordset(strSQL)
'On ouvre Excel
Set xl = New Excel.Application
With xl
Set wbk = .Workbooks.Open(CurrentProject.Path & "\sp21.xls") 'Code qui répond à la demande # 2
With wbk
For i = 1 To .Sheets.Count 'On parcours les différentes feuilles
rst.AddNew 'On insère les données dans un record
rst("Cie") = .Sheets(i).Range("d4")
rst("compte") = .Sheets(i).Range("d5")
rst("ajustéavant") = .Sheets(i).Range("e55")
rst("ajustéaprès") = .Sheets(i).Range("k55")
rst("imputé") = .Sheets(i).Range("k56")
rst("àcrédité") = .Sheets(i).Range("k57")
rst("OngletExcel") = .Worksheets(i).Name 'Code qui répond à la demande # 1
rst.Update
Next i
End With
End With
'Libération des objets
xl.Quit 'Code qui répond à la demande # 3
Set xl = Nothing
Set wbk = Nothing
Set rst = Nothing
Set db = Nothing
End Sub
-------------------------
----------------------
Private Sub Commande7_Click()
'Déclaration des variables nécessaires
'Dans outils tu dois avoir la référence Excel de cocher
Dim db As DAO.Database: Set db = CurrentDb
Dim rst As DAO.Recordset
Dim strSQL As String
Dim xl As Excel.Application
Dim wbk As Excel.Workbook
Dim i As Long
'On ouvre un record set
strSQL = "SELECT T_Table.Cie, T_Table.compte, T_Table.ajustéavant, T_Table.ajustéaprès, T_Table.imputé, T_Table.àcrédité, T_Table.OngletExcel FROM T_Table;"
Set rst = db.OpenRecordset(strSQL)
'On ouvre Excel
Set xl = New Excel.Application
With xl
Set wbk = .Workbooks.Open(CurrentProject.Path & "\sp21.xls") 'Code qui répond à la demande # 2
With wbk
For i = 1 To .Sheets.Count 'On parcours les différentes feuilles
rst.AddNew 'On insère les données dans un record
rst("Cie") = .Sheets(i).Range("d4")
rst("compte") = .Sheets(i).Range("d5")
rst("ajustéavant") = .Sheets(i).Range("e55")
rst("ajustéaprès") = .Sheets(i).Range("k55")
rst("imputé") = .Sheets(i).Range("k56")
rst("àcrédité") = .Sheets(i).Range("k57")
rst("OngletExcel") = .Worksheets(i).Name 'Code qui répond à la demande # 1
rst.Update
Next i
End With
End With
'Libération des objets
xl.Quit 'Code qui répond à la demande # 3
Set xl = Nothing
Set wbk = Nothing
Set rst = Nothing
Set db = Nothing
End Sub
-------------------------
gumbi machine
Messages postés
57
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
4 avril 2016
5
26 mars 2016 à 05:03
26 mars 2016 à 05:03
Bonjour,
Une macro d'importation de données pourrait simplifier ton travail.
L'important c'est que le fichier Excel ai toujours le même nom et les onglets également et qu'il soit toujours dans le même répertoire pour chaque importation.
Une fois par mois, tu roule la macro et hop tout est ajouté d'un coup.
Une macro d'importation de données pourrait simplifier ton travail.
L'important c'est que le fichier Excel ai toujours le même nom et les onglets également et qu'il soit toujours dans le même répertoire pour chaque importation.
Une fois par mois, tu roule la macro et hop tout est ajouté d'un coup.