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 :

Open/Close Application Excel depuis Access [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 226
    Points : 114
    Points
    114
    Par défaut Open/Close Application Excel depuis Access
    Bonjour,
    j'ai un souci avec la fermeture du processus Excel, appelé depuis Access.

    La première fois que j'exécute ce code, le processus Excel.exe ne se ferme plus!! Par contre, toute les autres fois oui!!
    Une autre chose étrange c'est que si j'appelle openFileReanOnly et closeNOTSaveFile toute de suite derrière il n'y a pas de soucis... Dans le code *read file* je ne fais rien d'autre que lire le contenu d'un sheet...


    Voilà 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Public appExcel As Excel.Application   'Application Excel
    Public wb As Excel.Workbook            'Classeur Excel
     
    Public Sub openFileReanOnly(newFile As String) 
        If (appExcel Is Nothing) Then 
            Set appExcel = CreateObject("Excel.Application")    'Open Excel Application 
        Else 
            MsgBox ("appExcel is still running!") 
            Exit Sub 
        End If 
        If (wb Is Nothing) Then 
            Set wb = appExcel.Workbooks.Open(newFile, True, True) 'Open Excel File 
        Else 
            MsgBox ("an Excel file is Still Open!") 
            Exit Sub 
        End If 
    End Sub 
     
    ....... 
    read file 
    .... 
     
    Public Sub closeNOTSaveFile() 
        If Not (wb Is Nothing) Then 
            wb.Close False 
        End If 
        If Not (appExcel Is Nothing) Then 
            appExcel.Quit 
        End If 
        Set wb = Nothing 
        Set appExcel = Nothing 
    End Sub
    Pourquoi le processus reste ouvert Uniquement pour le premier appelle? Je passe bien par "appExcel.Quit" et "Set appExcel = Nothing" mais ils n'ont aucun effet...

    Merci pour tout correction ou idée de débogage..

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Si tu veux un exemple vois cette discussion et suis le lien proposé par LedZeppII.
    Un modèle du genre !
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 226
    Points : 114
    Points
    114
    Par défaut
    Merci pour ta réponse!

    J'ai finalement trouvé l'erreur dans mon code...je l'ai comparé avec l'exemple et en voyant qu'il n'y avait pas tellement de différence, j'ai commencé à me poser la question si le problème de venait pas de la partie "lecture"...

    Effectivement, l’utilisai faux la fonction WorksheetFunction.Match !!

    Faux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     l = WorksheetFunction.Match("Name :", xlSht.Range("A2:A100"), 0)
    Juste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     l = appExcel.WorksheetFunction.Match("Name :", xlSht.Range("A2:A100"), 0)
    C'est elle qui ne permettais pas à excel de se fermer!


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

Discussions similaires

  1. Suppression feuille Excel depuis access
    Par clad523 dans le forum Access
    Réponses: 1
    Dernier message: 15/12/2005, 11h09
  2. Réponses: 2
    Dernier message: 07/12/2005, 12h05
  3. comment fermer un fichier Excel depuis Access?
    Par audrey_desgres dans le forum Access
    Réponses: 14
    Dernier message: 21/06/2005, 12h43
  4. Ouvrir un fichier excel depuis access
    Par ptitegrenouille dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 03/05/2005, 11h47
  5. imprimer feuille excel depuis access
    Par Jean Bonnisme dans le forum Access
    Réponses: 3
    Dernier message: 18/11/2004, 08h46

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