Recherche
Recherche
Les mémos
 ↑  
Je débute...
Visites

 992118 visiteurs

 4 visiteurs en ligne

Pour lier les feuilles d'un document Excel comme table dans une base, on peut utiliser la fonction ci-dessous. Chaque feuilles du document constituera un table liée.

Pensez à cocher la référence Excel.

Option Compare Database
Option Explicit

Public appXl As Excel.Application
Public WorkSheet As Excel.WorkSheet
Public Const strAppXl As String = "Excel.Application"

Public Function AttacheExcel(strNomFile As String)
    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ' Syntaxe: AttacheExcel "cheminfichier.xls"
    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Dim intNbFeuille As Integer
    Dim tabFeuille() As Variant
    Dim intIndex As Integer
    Dim tdf As TableDef

    Set appXl = CreateObject(strAppXl)
    intNbFeuille = 1

    With appXl
        .Workbooks.Open strNomFile
        ReDim tabFeuille(.Worksheets.Count)
        For Each WorkSheet In .Worksheets
            tabFeuille(intNbFeuille) = WorkSheet.Name
            intNbFeuille = intNbFeuille + 1
        Next
        .Quit
    End With

    Set appXl = Nothing

    For intIndex = 1 To UBound(tabFeuille)
        Set tdf = CurrentDb.CreateTableDef(tabFeuille(intIndex))
        tdf.Connect = "Excel 5.0;DATABASE=" & strNomFile
        tdf.SourceTableName = tabFeuille(intIndex) & "$"
        CurrentDb.TableDefs.Append tdf
        CurrentDb.TableDefs.Refresh
    Next

    Set tdf = Nothing

End Function

Catégorie : Les mémos - Tables
Page lue 3467 fois