Il est de bon ton de se souhaiter la bonne année. Mais vous, et vous seul, pourrez faire en sorte que cette année soit bonne, meilleure que celle qui vient de s'écouler. Apprenez à ne compter que sur vous, car personne n'est plus qualifié que vous-même pour bâtir, réparer ou améliorer votre propre vie. Personne ne fera les choses à votre place. D'ailleurs, tout ce que les autres peuvent faire, c'est souhaiter que vous le fassiez. Et ne croyez pas que tout ceux qui vous entourent vous apporteront des solutions : certains font juste partie de vos problèmes. Transformez vos résolutions en actes, et dans douze mois, retournez-vous et souriez-vous fièrement : C'était long. C'était difficile. Mais ça y est : 2017 était une bonne année, merci Moi.

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