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 d'execution 1004 methode range de l'objet global a echoue


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 12
    Points : 8
    Points
    8
    Par défaut erreur d'execution 1004 methode range de l'objet global a echoue
    Bonjour,

    Je suis encore novice et je suis en train dexporter des données access sur excel. Je souhaiterai en faisant l'export dire à access d'appeler la feuille qui reçoit les données, de supprimer la plage de cellule contigue à celle sélectionnée, et supprimer toutes les données.

    Après exportation des données via access, tout marche bien. Mais si je recommence j'ai le message suivant qui apparait

    "erreur d'execution 1004 methode range de l'objet global a echoue"
    et excel est systématiquement planté

    Je suis obligé d'ouvrir le gestionnaire des tâches et ôté l'application excel systématiquement.

    Auriez vous des solutions à me proposer ??

    Le code qui me pose pb est le suivant
    'appel de la feuille correspondante surlaquelle exporter les données+ efface les données

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       xlApp.Sheets("BDD").Select
        Range("A2").CurrentRegion.Select
        Selection.ClearContents
    c'est au niveau de Range ("A2)que la macro bugg
    Pour info : dans outil /reference ci-dessous les éléments cochés
    visual basic for Applications
    Microsoft Access 14.0 Object Library
    OLE Automation
    Microsoft Excel 14.0 Object Library
    Microsoft DAO 3.6 Objcet Library

    Je suis sous access 2010

    Merci beaucoup!!! Merci bcp aussi à ce site qui m'a beaucoup aidé ds la creation de cette macro.

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 821
    Points
    19 821
    Billets dans le blog
    66
    Par défaut
    Bonsoir,

    Il faut bien penser à préfixer l'objet range.

    Excel n'est pas censé deviner à quelle feuille Range("A2") appartient

    Donc, à quelle feuille appartient Range("A2") dans ton code ?

    A+

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Range ("A2") appartient à la feuille BDD.
    Merci !!!

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 821
    Points
    19 821
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    En fait tu n'es pas sous Excel, tu pilotes Excel depuis Access en VBA c'est ça la différence. Sous Excel ton code marcherait peut-être mais dans Access tu as besoin de gérer ces objets avec des variables.

    Essaie par exemple de te servir de ta variable xlApp pour faire référence à ces objets et méthodes, ton code pourrait ressemble à ça:

    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
    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
     
        Set xlApp = CreateObject("Excel.Application")
        Set xlBook = xlApp.Workbooks.Open("C:\Documents and Settings\Fichier.xls")
     
          xlBook.Sheets("BDD").Select
          xlBook.Sheets("BDD").Range("A2").CurrentRegion.Select
          xlApp.Selection.ClearContents
    ...
     
    xlBook.Close
    xlApp.Quit
     
    Set xlBook = Nothing
    Set xlApp = Nothing
    Utilise pour ça l'explorateur d'objets disponible depuis l'éditeur VBE.

    A+...

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Oui j'ai déjà remplacer par xlapp et j'ai tjs le bugg
    j'ai mis

    xlApp.Sheets("BDD").CurrentRegion.Select

    et j'ai comme message d'erreur "erreur d'execution 438 Propriété ou methode non géré par cet objet"

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 821
    Points
    19 821
    Billets dans le blog
    66
    Par défaut
    En fait c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlBook.Sheets("BDD").Range("A2").CurrentRegion.Select
    il te faut en plus utiliser la variable:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim xlBook As Excel.Workbook
    A+

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Ha non excuse moi!!!
    je n'avais pas lu toute ta réponse et ça marche!!!
    Merci énormément!!! t'es génial !!!
    merci à ce site car c'est un super outil!!

  8. #8
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 396
    Points : 19 821
    Points
    19 821
    Billets dans le blog
    66
    Par défaut
    De rien,

    J'espère que tu as compris le principe et l'utilité de l'explorateur d'objets

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

Discussions similaires

  1. [XL-2007] Erreur d'execution "1004" la méthode autofilter de la classe range a échoué
    Par adamskone dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 11/09/2014, 00h41
  2. [Toutes versions] La methode range de l'objet global à échoué macro dans un userform
    Par diude54 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/02/2013, 11h38
  3. La methode 'Range' de l'objet '_WoorkSheet' a echoué
    Par Kalvin_20 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/05/2008, 13h36
  4. Erreur 1004, methode Paste de l'objet Range.
    Par asxasx dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 20/08/2007, 11h05
  5. pb 'erreur d'execution 1004' problème RANGE
    Par rpauquet dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/07/2007, 15h38

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