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

Macros et VBA Excel Discussion :

Probleme avec Docmd.transferspreadsheet [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 94
    Points : 54
    Points
    54
    Par défaut Probleme avec Docmd.transferspreadsheet
    Bonjour à tous,

    Je rencontre un petit probleme d'exécution dans une macro dont le but est de transférer un tableau excel dans une table d'une base Access. Dans les deux cas je suis sous Office 2010.

    J'utilise la méthode transferspreadsheet de l'objet Docmd. Le problème vient de la chaîne de texte de l'argument sensé contenir l'adresse de mon tableau Excel : si je laisse les $ dans l'adresse du Range j'ai une erreur d'exécution '3011' avec le message 'le moteur de base de données Microsoft Access n'a pas pu trouver l'objet Feuil1$$A$1:$B$4'. Tout se passe comme si le ! était remplacé par un $ dans ma chaîne d'adresse. Lorsque j'enlève les $ dans ma chaîne d'adresse, c'est-à-dire "Feuil1!A1:B4" au lieu de "Feuil1!$A$1:$B$4" ça fonctionne sans problème...

    Auriez-vous une piste s'il vous plait ? je n'ai rien trouvé sur le forum ou les FAQ sur ce problème précis.

    Voici mon 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
    15
    16
    Sub Macro2()
    Dim NClasseur As Workbook
    Dim oAcApp As Object
    Dim MyDatabase As Database
     
    Set NClasseur = Application.ActiveWorkbook
     
    Set oAcApp = CreateObject("Access.Application")
    oAcApp.OpenCurrentDatabase "C:\Documents and Settings\My Documents\MaBase.mdb", False
     
    Set MyDatabase = oAcApp.CurrentDb
     
    oAcApp.Docmd.transferspreadsheet acImport, 8, _
        "Exemple", NClasseur.FullName, True, "Feuil1!$A$1:$B$4"
     
    End Sub
    Merci pour votre aide

    Stargates

  2. #2
    Invité
    Invité(e)
    Par défaut Bonjour, teste ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    oAcApp.Docmd.transferspreadsheet acImport, 8, _
        "Exemple", NClasseur.FullName, True, replace("Feuil1!$A$1:$B$4","$","")

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 94
    Points : 54
    Points
    54
    Par défaut
    Merci, ça résout le problème effectivement. Par curiosité je me demande pourquoi le $ ne fonctionne pas, d'autant que sur le net j'ai trouvé des exemples de code qui comportaient des $. Sans doute une configuration particulière de mon environnement, ou la façon dont j'ouvre Access...

    En tout cas merci de ta réponse.

  4. #4
    Invité
    Invité(e)
    Par défaut
    je sais par expérience que ça ne marche pas! le [$] indique à excel qu'il s'agit d'une adresse absolue mai excel est le seule (et pas toujours) à l'utiliser! Microsoft à des raisons que la raison ignore!

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

Discussions similaires

  1. [AC-2003] nom de fichier avec un espace pour import avec DoCmd.TransferSpreadsheet
    Par dyolet dans le forum VBA Access
    Réponses: 1
    Dernier message: 22/12/2014, 18h56
  2. [AC-2010] Probleme avec DoCmd.TransferText acExportDelim
    Par lololebricoleur dans le forum VBA Access
    Réponses: 6
    Dernier message: 07/04/2013, 23h01
  3. [AC-2003] probleme avec DoCmd.CopyObject
    Par cacit_boss dans le forum VBA Access
    Réponses: 1
    Dernier message: 25/03/2012, 08h16
  4. VBs probleme avec Docmd
    Par Invité dans le forum VBScript
    Réponses: 14
    Dernier message: 28/12/2010, 17h01
  5. probleme avec DoCmd.RunSQL
    Par Didier77 dans le forum Access
    Réponses: 5
    Dernier message: 21/07/2006, 16h09

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