Attache de plusieurs feuilles Excel


Cette fonction permet de créer plusieurs tables attachées Excel en fonction du nombre de feuilles d'un classeur.

L'argument "strNomFile" correspond au chemin complet et au nom du fichier Excel qui contient les données.

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

Public Function AttacheExcel(strNomFile As String)

Dim intNbFeuille As Integer
Dim
tabFeuille() As Variant

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

Retour haut de page

Auteur : Jessy SEMPERE