1. #1
    Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    août 2017
    Messages
    6
    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 : 6
    Points : 4
    Points
    4

    Par défaut Erreur d'exécution '3011'

    Bonjour a tous,

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

    J'ai trouvé le code suivant:

    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?

    Merci d'avance,

  2. #2
    Membre éprouvé
    Homme Profil pro
    retraité
    Inscrit en
    juin 2012
    Messages
    578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : juin 2012
    Messages : 578
    Points : 927
    Points
    927

    Par défaut

    Bonjour.

    Une piste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        tdf.Connect = "Excel 5.0;DATABASE=" & result     '--- result défini ?
    Cdt

  3. #3
    Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    août 2017
    Messages
    6
    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 : 6
    Points : 4
    Points
    4

    Par défaut

    Bonjour,

    Merci beaucoup de consacrer du temps à mon problème,

    Que signifie cette ligne de code? Qu'est ce qu'Excel5.0 et de quel résultat est il question?

    Je ne maîtrise pas du tout le VBA, j'apprend mais ce type de code est encore trop complexe pour moi.

    Pierre.

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2005
    Messages
    10 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2005
    Messages : 10 562
    Points : 21 417
    Points
    21 417

    Par défaut

    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tdf.Connect = "Excel 5.0;DATABASE=" & result
    Indique la chaine de connexion à la source de données.

    Soit un fichier de type Excel 5.0 dont le chemin/nom/feuille/plage est contenu dans Result.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    août 2017
    Messages
    6
    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 : 6
    Points : 4
    Points
    4

    Par défaut

    Il faut donc que je modifie le type de fichier (je ne sais pas ce qu'est du excel5.0 et ce fameux résult qui ne correspond à rien.
    À quoi devrait ressembler mon code? Je dois définir un résultat attendu?

    Bien à vous,

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2005
    Messages
    10 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2005
    Messages : 10 562
    Points : 21 417
    Points
    21 417

    Par défaut

    Avant de définir le connect tu devrais avoir une ligne de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    result = "c:\monfichier.xls"
    2videmment le contenu est à définir suivant ton cas.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

Discussions similaires

  1. [AC-2007] Erreur d'exécution 3011
    Par thomasly dans le forum VBA Access
    Réponses: 1
    Dernier message: 21/02/2013, 10h21
  2. transfert access -> excel : Erreur d'exécution 3011
    Par finesse20 dans le forum Access
    Réponses: 4
    Dernier message: 10/08/2006, 10h10
  3. [CR8][VB6] Erreur d'exécution 20533
    Par pvava dans le forum SDK
    Réponses: 1
    Dernier message: 01/02/2005, 10h27
  4. Erreurs d'exécution sous delphi 5
    Par nkd dans le forum Langage
    Réponses: 3
    Dernier message: 06/11/2004, 17h25
  5. [Apache Perl] Erreur à l'exécution de mes cgi
    Par GLDavid dans le forum Apache
    Réponses: 4
    Dernier message: 28/08/2004, 20h23

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