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 :

Gestion des objets Excel.Application dans Access


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Par défaut Gestion des objets Excel.Application dans Access
    Bonjour,

    après avoir longuement erré sur les forums et fait de multiples tests, j'ai trouvé une solution au problème suivant : j'importe un fichier Excel dans Access (entre autres avec un objet Excel.Application nommé xlApp). Après les lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    xlApp.Quit
    set xlApp = Nothing
    un processus Excel demeurait dans la liste des gestionnaire de tâches, ce qui occasionnait des plantages plus loin dans le code.

    J'ai constaté que le problème venait de la manière dont était instancié mon objet Application :le problème a été résolu en remplaçant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim xlApp As New Excel.Application
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim xlApp As Object
    Set xlApp = CreateObject("Excel.Application")
    Je pensais que les deux étaient équivalents. Quelqu'un saurait-il me dire pourquoi il n'en est rien ?

    Merci d'avance.

  2. #2
    Membre expérimenté Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Par défaut
    Au temps pour moi, grosse bêtise : les deux modes d'instanciation ne créent pas de différences sur la gestion des processus.

    M'étant aperçu de cela, j'ai creusé la question, et j'ai constaté que le processus Excel restait actif à partir du moment où j'utilisais un transferSpreadSheet avant de fermer le WorkBook.

    En clair, la séquence :
    1) Ouverture du classeur
    2) TransferSpreadSheet
    3) Fermeture du classeur
    4) Libération des objets
    laisse un processus Excel actif.

    La séquence :
    1) Ouverture du classeur
    2) Fermeture du classeur
    3) TransferSpreadSheet
    4) Libération des objets
    ferme le processus.

    J'espère que cette constatation permettra d'aider d'autres utilisateurs. Quant à moi, il me reste une question : pourquoi ces deux séquences aboutissent-elles à des résultats différents ?

    Si quelqu'un peut éclairer ma lanterne, je lui offrirai... mon éternelle gratitude.

  3. #3
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello,

    pourquoi ouvrir Excel pour faire un transferspreadsheet ?

  4. #4
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 38
    Par défaut
    Salut,

    Je suis d'accord avec cafeine , ça ne sert à rien d'ouvrir le classeur.

    Par contre, je voudrais supprimer une feuille, quelqu'un aurait une idée?

    Merci

  5. #5
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 131
    Par défaut
    Citation Envoyé par cristof56 Voir le message
    Salut,

    Je suis d'accord avec cafeine , ça ne sert à rien d'ouvrir le classeur.

    Par contre, je voudrais supprimer une feuille, quelqu'un aurait une idée?

    Merci
    Tu devrais créer un autre post je pense...
    ou essayer la methode "delete"

  6. #6
    Membre expérimenté Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Par défaut
    Bonjour à tous,

    dans ma fonction, je commence par ouvrir le fichier Excel pour y réaliser un certain nombre de traitements : vérification et modification des informations contenues dans le fichier. Un fois le fichier vérifié, on l'importe.

    On pourrait importer le fichier tel quel et faire toutes les vérifs sur la table importée, mais le but est de conserver les modifications dans le fichier Excel. Je pourrais aussi importer le fichier, faire les modifs et le réexporter ensuite.

    Quoi qu'il en soit, mon problème est résolu, dans la mesure où j'arrive à fermer proprement le processus, mais j'attends un peu pour taguer le sujet de voir si quelqu'un a une idée sur cette histoire de transferspreadsheet et ses conséquences sur les processus.

    Au fait, Cafeine, merci infiniment pour tes diverses contributions sur developpez.com. Je suis un fan

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

Discussions similaires

  1. Gestion des objets ACCESS
    Par tiyolx dans le forum Modélisation
    Réponses: 5
    Dernier message: 24/05/2008, 23h57
  2. Pb de gestion des objets Excel
    Par tedparker dans le forum Access
    Réponses: 2
    Dernier message: 11/09/2006, 17h13
  3. [FB] Gestion des erreurs et application francophone
    Par Benjamin GAGNEUX dans le forum Installation
    Réponses: 10
    Dernier message: 20/05/2006, 14h54
  4. Réponses: 1
    Dernier message: 11/05/2006, 20h07
  5. Gestion des droits d'accès sur Access 2003
    Par cotmar dans le forum Access
    Réponses: 2
    Dernier message: 04/05/2006, 16h41

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