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 :

importation d'une feuille précise d'excel vers access [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Par défaut importation d'une feuille précise d'excel vers access
    Bonjour à tous,
    je souhaite automatiser l'importation d'un fichier excel vers une table access, le problème est que dans mon fichier excel, j'ai deux feuilles qui doivent être importée chacune dans une table différente.
    Dans le fichier excel, l'importation de la première feuille se fait sans problème, j'ai créé dans access un bouton auquel j'ai associé le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub B_Update_T_Global_Maturity_Click()
     
        DoCmd.SetWarnings False
        DoCmd.OpenQuery " Q6_empty_T_Global_Maturity_before_update", acViewNormal, acEdit
        DoCmd.SetWarnings True
        DoCmd.TransferSpreadsheet acImport, 10, "T_Global_Maturity", CurrentProject.Path & "\globalmaturité.xlsx", True, ""
        Beep
        MsgBox "Importation Finished", vbInformation, "Importation"
     
    End Sub
    maintenant, je voudrais importer dans une autre table qui existe déjà dans access, la deuxième feuille de mon fichier excell. Je voudrais donc créer un autre bouton pour automatiser l'importation mais qu'est-ce que je dois modifier dans mon code pour lui spécifier quelle feuille importer ?

    Merci pour votre aide !!

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    salut,
    regarde dans la liste de paramètres de la fonction TransfertSpreadSheet, tu peux préciser le range de cellule que tu veux importer/exporter. C'est à ce niveau là que tu définis le nom de la feuille qui t'intéresse
    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 :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    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 averti
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Par défaut
    OK, j'ai trouvé le range, comment dois-je l'écrire ? je mets le nom de la feuille entre [], entre "" ?
    est-ce que je suis aussi obligée aussi spécifier le range de cellules parce qu'évidemment à chaque mise à jour ce range va changer et s'allonger ?
    Merci pour ton aide

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    as-tu essayé les syntaxes ?
    si tu te limites à une feuille, pas la peine de spécifier le nombre de lignes à importer
    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 :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    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 averti
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Par défaut
    je vais essayer de regarder tout ça
    merci pour ton aide

  6. #6
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Par défaut
    j'ai bien essayé d'ajouter le nom de la feuille au niveau du [range] en le mettant entre "", comme indiqué ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "T_Harvest_recommendation", CurrentProject.Path & "\globalmaturité.xlsx", True, "harvest_recommendations"
    mais j'obtiens un message d'erreur, il ne trouve pas l'objet 'harvest_recommendations', et me dit de vérifier le path...
    Dans l'exemple donné dans l'aide, le [range] correspond à une plage de cellule, pas à une feuille particulière.
    jpcheck, qu'es-ce que tu entends par "as-tu essayé les syntaxes" ? Je suis désolée, je suis plus que novice dans le code

    Merci

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2004
    Messages : 37
    Par défaut
    Bonjour,

    J'ai le même pb que toi, personne n'a la solution ?

  8. #8
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonsoir,

    le range est de la forme Nom_Feuille!Plage_de_cellules

    On peut omettre le nom de la feuille, la plage de cellules, ou les deux.

    Sans la plage de cellules (on conserve le point d'exclamation) :
    Nom_Feuille!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DoCmd.TransferSpreadsheet, acSpreadsheetTypeExcel12, _
          "Table1", "C:\Mes documents\Classeur1.xlsx", _
          True, "Ctl Excel!"
    Sans le nom de la feuille :
    Plage_de_cellules
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DoCmd.TransferSpreadsheet, acSpreadsheetTypeExcel12, _
          "Table2", "C:\Mes documents\Classeur1.xlsx", _
          True, "A1:B31"
    A+

  9. #9
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2004
    Messages : 37
    Par défaut
    Merci, ça marche nikel !


  10. #10
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Par défaut
    Merci beaucoup LedZeppII ! ça marche super bien ! il me manquait juste le petit "!" !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Migrer une base de données Excel vers Access, possible ou non ?
    Par VBAG38 dans le forum VBA Access
    Réponses: 3
    Dernier message: 08/08/2012, 16h05
  2. Réponses: 3
    Dernier message: 29/03/2010, 15h31
  3. Importation d'une feuille excel vers sql server 2005
    Par transistor49 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 16/09/2009, 19h31
  4. [VBA] exportation vers une feuille précise d'un fichier xls
    Par Christophe93250 dans le forum Access
    Réponses: 2
    Dernier message: 10/01/2006, 15h36
  5. Importer le contenu d'une cellule Excel vers Access
    Par deaqu1 dans le forum Access
    Réponses: 7
    Dernier message: 05/11/2005, 15h26

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