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 1004 sur interface Access/Excel [AC-2016]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Par défaut Erreur 1004 sur interface Access/Excel
    Bonjour,

    un gros dilemme pour moi. Lors de l'exécution d'un code VB, j'ai un comportement différent selon le PC sur lequel je l'exécute :
    - PC Windows 10 avec le moteur Access 2016, ça fonctionne
    - PC Window7 avec le RunTime Access 2016 32bits, ça fonctionne
    - PC Windows 10 avec le RunTime Access 2016 32bits, erreur 1004

    L'objet du code VB :
    - récupérer via export le résultat d'une requête
    - copier l'export dans un modèle Excel afin de générer un support standard (des macros de calcul sont exécutées à l'ouverture du fichier Excel crée)
    - renommer le fichier généré afin de préserver le modèle et sauvegarder le résultat

    Nom : Sans titre.png
Affichages : 688
Taille : 28,4 Ko

    Le code incriminé :
    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
     
    DoCmd.TransferSpreadsheet acExport, , "ReqDevis3", Repertoire & "toto.xlsx"
    Set objapp = CreateObject("excel.application")
    objapp.Visible = False
     
    FichierSource = Repertoire & "toto.xlsx"
    Set objbook1 = objapp.Workbooks.Open(FichierSource, ReadOnly:=True)   
    FichierDest = Repertoire & "Modele_Synthese_Devis.xlsm"
    Set objbook2 = objapp.Workbooks.Open(FichierDest, ReadOnly:=False)
    objbook1.worksheets(1).copy after:=objbook2.worksheets(1)
    objbook1.Close
    Kill (FichierSource)
    FichierCreer = Repertoire & "Synthese_Devis_" & NumDevis & ".xlsm"
    objbook2.saveas FichierCreer
    objbook2.Close
    objapp.Visible = True
    Set objbook1 = objapp.Workbooks.Open(FichierCreer)
    Set objsheet1 = objbook1.worksheets("ReqDevis3")
    L'erreur se trouve sur les commandes "Set objbook1" ou "Set objbook2"

    Merci d'avance pour votre aide

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Par défaut
    Pourrait-Il s'agir d'un paramétrage différent de Windows ou Office ? Si oui, lequel ?
    Lorsqu'on l'on exécuté une base Access avec le Run time, est ce que la base embarqué les 'Preferences' paramétrée dans le gestionnaire de code ? Si non, comment faire pour les mettre à niveau sur le poste utilisant le Run Time ?

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Par défaut
    Bonjour,

    Après avoir mis une trace, je confirme que l'erreur se produit bien sur la ligne suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set objbook2 = objapp.Workbooks.Open(FichierDest, ReadOnly:=False)

  4. #4
    Invité
    Invité(e)
    Par défaut
    bonjour,

    au lieu d'ouvrir ton fichier Xls et de l'enregistrer sous je te propose de créer un nouveau classeur en utilisant ton fichier en tant que modèle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set objbook2 = objapp.Workbooks.add(FichierDest)

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Par défaut
    Merci pour ta réponse

    Nous sommes en train d'investiguer sur l'utilisation des macros avec Office365. Il semblerait qu'il y ait un problème de paramétrage du poste de ce coté.

    Quand j'ouvre un fichier XLS avec Office365 (et indépendamment d'Access), il sort une erreur sur les macros (fichier corrompu) et les supprime.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Dans ton projet vba, vas dans menu=>références si tu as des.références manquantes décoche les.

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Par défaut
    Apparemment, le poste sur lequel ont été fait les tests, l'utilisation des macro Excel a été verrouillée ce qui génère une erreur à l'ouverture du fichier

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 23/07/2018, 11h33
  2. [XL-2010] Erreur 1004 sur un fichier pour envoyer un mail lotus via excel
    Par ALEX60 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/10/2013, 14h01
  3. [XL-2007] [VBA-Excel] Erreur 1004 sur utilisation de Cells
    Par hergios dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/07/2012, 12h55
  4. Réponses: 5
    Dernier message: 29/03/2011, 15h16
  5. Erreur 1004 sur une boucle simple
    Par ruzakruzak dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 06/07/2007, 09h00

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