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 de reference objet excel application apres with selection


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    ingénieur système
    Inscrit en
    Août 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur système

    Informations forums :
    Inscription : Août 2013
    Messages : 2
    Par défaut Probleme de reference objet excel application apres with selection
    Bonjour,

    je vais tenter d'être claire. Dans un document PPTM (Office 2007), j'ai implémenté un script VBA qui ouvre un fichier Excel dans une application Excel.
    A la fin du traitement, je ferme l'ensemble fichier et application, mais l'application Excel, reste toujours dans la liste des processus ouverts alors que toutes les fenêtres de l'application Excel sont bien fermées. J'ouvre par la suite un autre fichier Excel dans une autre application Excel, dans un autre processus, et lorsque je veux traiter le second fichier, j'ai des erreurs liées à l'existence de la premiere application Excel.
    Avant l'execution de la macro, aucun processus Excel n'est présent dans le gestionnaire de tâche.
    J'ai identifié la partie qui semble poser problème:
    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
     
    Sub ChangeColPPFS(PoXls As Excel.Workbook, PoAppXls As Excel.Application)
     
    PoXls.Worksheets(SHEET1).Columns("B:B").Select
    '# Insertion d'une colonne des prenoms.
    With Selection
        .Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    End With
     
    PoXls.Close savechanges:=False
    PoAppXls.Quit
    Set PoXls = Nothing
    Set PoAppXls = Nothing
    ...
    end sub
    Après l'ajout de la colonne, je ferme le fichier et l'application, mais un processus Excel est toujours présent.
    J'ai modifié le code précedent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    PoXls.Worksheets(SHEET1).Columns("B:B").Select
    PoXls.Worksheets(SHEET1).Columns("A:A").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
     
    PoXls.Close savechanges:=False
    PoAppXls.Quit
    Set PoXls = Nothing
    Set PoAppXls = Nothing
    ...
    end sub
    Ce code fonctionne, le processus Excel se termine bien.
    Ma question serait d'avoir une explication du pourquoi cela se produit ainsi ?
    J'ai cherché une réponse, mais je n'ai rien trouvé jusqu'à maintenant. Quelqu'un aurait-il de l'information ? Merci par avance.

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    déjà je ne comprends pas l'intérêt d'ouvrir plusieurs instances d'Excel à part gâcher des ressources mémoire ?!

  3. #3
    Candidat au Club
    Homme Profil pro
    ingénieur système
    Inscrit en
    Août 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur système

    Informations forums :
    Inscription : Août 2013
    Messages : 2
    Par défaut
    J'ai modifie une macro déjà existante. je devais au début de la macro ouvrir un fichier, le modifier si cela était nécessaire, le refermer et reprendre le cours de la macro normalement.
    Mon propos n'est pas sur les ressources utilisées, mais plutôt sur le comportement de VBA.
    Aurais-tu déjà rencontré ce type de problème ?

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Ben non vu que je préfère aller au plus simple ou au plus efficace !

    Pas besoin d'ouvrir un autre Excel quand j'y suis déjà !

Discussions similaires

  1. Comment disposer un objet Excel.Application?
    Par Subkill dans le forum VB.NET
    Réponses: 2
    Dernier message: 12/08/2009, 17h25
  2. Gestion des objets Excel.Application dans Access
    Par spaiku dans le forum VBA Access
    Réponses: 7
    Dernier message: 01/10/2008, 16h15
  3. Probleme de sauvegarde avec Excel.application
    Par asterpc dans le forum VBA Access
    Réponses: 2
    Dernier message: 14/11/2007, 14h00
  4. probleme sur objet excel application
    Par micka180 dans le forum VBScript
    Réponses: 3
    Dernier message: 04/10/2007, 10h54
  5. probleme objet Excel.Application
    Par darkspoilt dans le forum VBA Access
    Réponses: 4
    Dernier message: 15/06/2007, 09h33

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