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 :

Erreur sur l'import dans une table précédemment supprimée


Sujet :

VBA Access

  1. #1
    Membre actif
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Points : 247
    Points
    247
    Par défaut Erreur sur l'import dans une table précédemment supprimée
    Bonjour,
    Je fais une intégration de fichier Excel dans Access dans la procédure ci-dessous. Cette procédure est appelée plusieurs fois pour charger chacun des onglets du classeur Excel qui m'intéresse. A chaque tour de boucle je supprime la table d'import pour pouvoir importer à nouveau dans cette table qui est créee à la volée via
    DoCmd.TransferSpreadsheet
    et qui porte comme nom :
    "New_Data_Glemea_" & Nom_fichier
    Je précise que je donne bien le nom d'onglet du fichier Excel dans la variable Onglet

    Sauf que lors de l'import du deuxieme onglet je tombe en erreur
    Objet Requis
    Voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub InterrogerBase_Cisco_SQL(Onglet As String, NumOnglet As Integer, Type_Integration As String, Nom_fichier As String)
     
    ' == on importe le fichier Cisco en SQL ==
    Dim Nom_fichier_complet As String
     
    On Error GoTo trt_Erreur_Import_fichier
        Nom_fichier_complet = [Forms]![Integration Cisco V2]![Le_Classeur_Chemin].Value & "/" & Nom_fichier
        If Type_Integration = "Glemea" Then
            DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "New_Data_Glemea_" & Nom_fichier,Nom_fichier_complet,True,Onglet     
    End If
    Exit Sub
    trt_Erreur_Import_fichier:
    MsgBox Description.Err
    End Sub

    Merci d'avance de vos idées.

  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 587
    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 587
    Points : 34 256
    Points
    34 256
    Par défaut
    Salut,

    pour savoir à coup sûr que c'est bien la ligne à laquelle tu penses qui plante, enlève ton On Error GoTo et regarde si c'est cette ligne qui pose problème !

    L'utilisation de cette syntaxe t'empêche de comprendre d'où peut venir l'erreur, je te recommande de ne l'utiliser qu'une fois que ton code aura été correctement rédigé
    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 actif
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Points : 247
    Points
    247
    Par défaut
    On met toujours un traitement d'erreur. C'est bien comme cela qu'il faut procéder. C'est comme cela que je l'enseigne. Je mets un zéro à ceux qui l'oublient... ( moi mon truc c'est plutôt sur C / Unix )

  4. #4
    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 587
    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 587
    Points : 34 256
    Points
    34 256
    Par défaut
    On n'a pas la même approche, mais ici du coup c'est à quelle ligne ton erreur exactement, on ne sait toujours pas
    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

  5. #5
    Membre actif
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Points : 247
    Points
    247
    Par défaut
    Bien sûr, 1000 excuses, c'est lors de l'import TransferSpreadsheet que ca ne rentre pas, et que cela génère l'erreur.

    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "New_Data_Glemea_" & Nom_fichier,Nom_fichier_complet,True,Onglet
    Curieusement lorsque j'importe un classeur Excel différent je n'ai pas de bug. Le bug provient lorsque je suis sur le même classeur mais sur un onglet différent.

    Au pire il faudrait que je transferts mon onglet dans un autre classeur indépendant, mais autant savoir pourquoi ca bugue. (de plus mon interface est concue avec la liste des onglets à intégrer)

    J'ai le sentiment qu'il faudrait que je ferme mon classeur. Mais en même temps je ne l'ai pas explicitement ouvert. Seulement la fonction TransfertSpreadsheet devrait faire le boulot (ouvrir/refermer)

  6. #6
    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 587
    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 587
    Points : 34 256
    Points
    34 256
    Par défaut
    Ta variable onglet contient quoi exactement ?

    l'extension du fichier est la bonne ?
    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

  7. #7
    Membre actif
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Points : 247
    Points
    247
    Par défaut
    Ma variable Onglet contient le nom de l'onglet, et l'extension est correcte, l'import se fait bien avec le premier onglet du classeur et automatiquement le deuxieme onglet est pris dans la liste des onglets du classeur que je veux intégrer.

  8. #8
    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 587
    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 587
    Points : 34 256
    Points
    34 256
    Par défaut
    Ton nomOnglet est bien du type "FeuilX!" ou "A1:G5" ?
    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

  9. #9
    Membre actif
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Points : 247
    Points
    247
    Par défaut
    C'est bien le nom de l'onglet du genre FeuilX!

Discussions similaires

  1. Automatisation de nouvel importation dans une table
    Par doogybreton dans le forum Modélisation
    Réponses: 4
    Dernier message: 15/12/2007, 17h35
  2. Réponses: 4
    Dernier message: 07/10/2007, 21h39
  3. Test evenement sur champ vide dans une table
    Par eddyG dans le forum Access
    Réponses: 3
    Dernier message: 30/05/2006, 18h02
  4. [VB6] Erreur durant la recherche dans une table
    Par quaife dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/04/2006, 18h21
  5. [WD9] Cliquer sur des enregistrements dans une table
    Par oz80 dans le forum WinDev
    Réponses: 2
    Dernier message: 15/12/2005, 21h11

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