Programmation : Comment importer toutes les feuilles d'un classeur en une seule opération

Imaginons que vous désiriez importer non pas une seule feuille Excel, mais toutes les feuilles d'un classeur. Comment faire ?
Astuce aimablement envoyée par Ludovic.

Si vous désirez plus d'explications concernant l'importation simple d'une feuilles Excel, c'est par ici.

Mode d'emploi :

- Dans la base de données Access dans laquelle vous désirez importer l'ensemble de toutes les feuilles de calcul d'un fichier Excel, écrivez le code suivant dans un module VBA, et exécutez le. Le fichier Excel s'appelle ici C:\TOTO.XLS. Il faut bien évidemment l'adapter à votre situation.

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:\toto.xls"
    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