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 à l'essai
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Points : 17
    Points
    17
    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 651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 651
    Points : 34 360
    Points
    34 360
    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

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Points : 17
    Points
    17
    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 651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 651
    Points : 34 360
    Points
    34 360
    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

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 50

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

  6. #6
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Points : 17
    Points
    17
    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
    Nouveau membre du Club
    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
    Points : 32
    Points
    32
    Par défaut
    Bonjour,

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

  8. #8
    Expert éminent
    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
    Points : 7 768
    Points
    7 768
    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
    Nouveau membre du Club
    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
    Points : 32
    Points
    32
    Par défaut
    Merci, ça marche nikel !


  10. #10
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Points : 17
    Points
    17
    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