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 :

Libérer fichier Excel après utilisation [AC-2010]


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Août 2010
    Messages : 41
    Points : 30
    Points
    30
    Par défaut Libérer fichier Excel après utilisation
    Bonjour,

    Sur le clic d'un bouton, j'ouvre et je lis un fichier Excel (ficxls) qu'a sélectionné un utilisateur.
    A la fin du traitement, je ne sais pas comment libérer le fichier Excel (dans le gestionnaire des tâches, EXCEL.EXE reste présent).

    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
     
            Set loclaexc = OuvreEXCELetCLASSEUR(ficxls)
            If loclaexc Is Nothing Then GoTo Err_ImportExcelSupport_Click
            Set lofeuille = loclaexc.Worksheets("Data")                      ' ouverture de la feuille
            i = 1
            While lofeuille.Cells(i, 1) <> ""                                ' parcours du fichier jusqu'à ce que la première cellule de ligne soit vide
     
                   ' Traitement de chaque ligne
                   ...
     
                   i = i + 1
            Wend
     
            Set loclaexc = Nothing
    La procédure OuvreEXCELetCLASSEUR :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Function OuvreEXCELetCLASSEUR(PsPathFil$) As Excel.Workbook
        On Error GoTo gereErr
        Set GoAppExc = Excel.Application
        GoAppExc.Visible = False
    '    GoAppExc.Visible = True
        GoAppExc.DisplayAlerts = False
        Set OuvreEXCELetCLASSEUR = GoAppExc.Workbooks.Open(PsPathFil)
        Exit Function
    gereErr:
        OuvreEXCELetCLASSEUR = Nothing
        MsgBox "OuvreEXCELetCLASSEUR " & Err.Description
    End Function
    Quelqu'un aurait-il une idée ?

    Je vous en remercie par avance.

    Bonne journée.

  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 : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Regarde dans la FAQ, ici : http://access.developpez.com/faq/?page=Excel#PilotExcel

    Et singulièrement sous le commentaire
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 465
    Points : 549
    Points
    549
    Par défaut
    Bonjour,

    Apres ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GoAppExc.Workbooks.Open(PsPathFil)
    j'imagine voir quelque chose du genre de

  4. #4
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 465
    Points : 549
    Points
    549
    Par défaut
    Sorry, fausse manoeuvre....

    Après ton Whille...Wend, tu peux ajouter quelque chose du genre de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'fermer Excel
    loclaexc.Close
    Excel.Application.Quit
     
    Set loclaexc = Nothing

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Août 2010
    Messages : 41
    Points : 30
    Points
    30
    Par défaut
    Merci beaucoup pour votre aide. J'ai pris ce qui m'intéressait (j'ai du adapter légèrement mon code) et ça fonctionne parfaitement :

    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
     
    Dim xlApp As Excel.Application
    Dim xlSheet As Excel.Worksheet
    Dim xlBook As Excel.Workbook
     
            ' Initialiser les variables
            Set xlApp = CreateObject("Excel.Application")
            Set xlBook = xlApp.Workbooks.Open(ficxls)
     
            If xlBook Is Nothing Then GoTo Err_ImportExcelSupport_Click
            Set xlSheet = xlBook.Worksheets("Data")                      ' ouverture de la feuille
            i = 1
            While xlSheet.Cells(i, 1) <> ""                                ' parcours du fichier jusqu'à ce que la première cellule de ligne soit vide
                    ...
                    i = i+1
            Wend
     
            xlBook.Save
            xlApp.Quit
            Set xlSheet = Nothing
            Set xlBook = Nothing
            Set xlApp = Nothing
    Bonne journée.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/09/2010, 11h05
  2. [dll] libérer une dll apres utilisation
    Par polo54 dans le forum API standards et tierces
    Réponses: 12
    Dernier message: 11/07/2009, 22h48
  3. Import de fichier excel/multi utilisation
    Par mayou13 dans le forum Access
    Réponses: 2
    Dernier message: 24/05/2007, 11h58
  4. Réponses: 1
    Dernier message: 29/01/2007, 19h22
  5. Réponses: 1
    Dernier message: 30/08/2006, 18h26

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