Importer chaque onglet d’un Excel comme un « record » dans acces

BoboMtl2x -  
 BibiMtl -
Bonjour,

Voilà j’ai un fichier avec 60 onglet, chaque onglet représente un record à importer dans accès.. donc tout les onglets ( qui sont tous identique) ont 15 informations, ces 15 informations devrait apparaître dans un champ du même « record ».( un record avec 15 champs). qq’un peut me donner un truc pour importer ça dans accès automatiquement? Je dois refaire ca chaque mois. Gros merci 

2 réponses

  1. BibiMtl
     
    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
    -------------------------
    1
  2. gumbi machine Messages postés 58 Statut Membre 5
     
    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.
    0