IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Table a partir d'onglets Excel importés


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Comptable
    Inscrit en
    Août 2017
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Comptable
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2017
    Messages : 43
    Points : 17
    Points
    17
    Par défaut Table a partir d'onglets Excel importés
    Bonjour a tous,

    Tout d'abord je m'excuse pour le double poste, mais je ne sais pas si cela relève des Macros ou du VBA. Je n'y connais pour l'instant pas grand chose, j'ignore si je dois préparer l'import en créant des tables, des champs ou autres?

    Je souhaite importer dans ACCESS sous forme de tables les onglets d'un fichier Excel.

    J'ai trouvé le code suivant (que je ne comprends pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    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:\Users\Desktop\3-Select BDD ACCESS.xlsm"
        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
    Et lors de l'exécution j'ai l'erreur suivante qui apparaît au niveau de la ligne en gras:

    Erreur d'exécution '3011':

    Le moter de base de données Microsoft Access n'a pas pu trouver l'objet "Nom du premier onglet". Vérifier qu'il existe que vous avez correctement entré son nom et son chemin d'accès...
    Le chemin d'accès est le bon car avant il ne le trouvait pas, j'avais un autre message et il est en mesure de lire le nom du premier onglet.

    Quelqu'un aurait il une solution? Et surtout la possibilité de m'expliquer comment et pourquoi ça fonctionne ?

    Merci d'avance,

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 274
    Points
    34 274
    Par défaut
    Salut,

    ton code semble incomplet, par exemple ta variable (ou fonction)
    n'est pas declaree ou n'a pas de valeur affectee.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre à l'essai
    Homme Profil pro
    Comptable
    Inscrit en
    Août 2017
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Comptable
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2017
    Messages : 43
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    Comment puis je résoudre cette erreur, je n'ai rien trouvé concernant la fonction result.

    Merci,

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/08/2015, 10h46
  2. Remplir une table SQL à partir d’un fichier Excel
    Par chidalife dans le forum VB.NET
    Réponses: 8
    Dernier message: 24/11/2010, 16h21
  3. Problème de création de table à partir de fichier Excel
    Par Jibi64 dans le forum Modélisation
    Réponses: 17
    Dernier message: 05/08/2008, 16h03
  4. Types de champs d'une table liée à partir d'excel
    Par zouhenlai dans le forum Modélisation
    Réponses: 4
    Dernier message: 22/07/2008, 10h43
  5. Creer une table a partir de EXcel
    Par franck SEFIC dans le forum Bases de données
    Réponses: 6
    Dernier message: 23/05/2007, 12h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo