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 :

Non fermeture d'une instance Excel dans un cas d'automation depuis Access


Sujet :

VBA Access

  1. #1
    Membre actif
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Points : 247
    Points
    247
    Par défaut Non fermeture d'une instance Excel dans un cas d'automation depuis Access
    Bonjour,
    J'ai fait une interface Excel par automation dans Access.
    J'ouvre une feuille Excel depuis Access, une fois quelle est rempli par des données utilisateurs, je la ferme via un bouton
    dans Access et j'intégre mes données.
    Cependant je n'arrive pas à supprimer une de mes instances Excel qui reste ouverte dans le gestionnaire de fichier.
    Ci-dessous le code du process. J'avais initialement mis mes Objets.Excel en tant que variable globale de mon module
    Excel_Pattern, que je consultais depuis ma sub Charge_Excel_Click() mais j'avais aussi le même problème d'instance non fermée.
    Je ne vois pas ce qui manque.
    Merci de votre aide

    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
    Excel_Pattern.Ouvrir_Fichier_Excel_Pattern("ACTIS")
     
    Ouvrir_Fichier_Excel_Pattern
    Set AppExcel = CreateObject("Excel.Application")
    Set xlbook = AppExcel.Workbooks.Add
     
    Poste_Utilisateur = OSUserName
    chemin_fichier = "C:\Users\" & Poste_Utilisateur & "\Documents\ACTIS1.xlsx"
     
    AppExcel.ActiveWorkbook.SaveAs FileName:=chemin_fichier, FileFormat:=xlWorkbookNormal
    With AppExcel.ActiveSheet
     
       ' cas classique
     
            .Range("A1") = "CODE OCTAVE"
            .Range("B1") = "DESIGNATION"
            .Range("C1") = "CODE ARTICLE"
    end with
    end sub
    Ensuite

    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
    Private Sub Charge_Excel_Click()
    Dim AppExcel As Object
    dim i as integer
    dim chemin_fichier  as string
    chemin_fichier = "C:\Users\" & Poste_Utilisateur & "\Documents\ACTIS1.xlsx"
    Set AppExcel = GetObject(chemin_fichier)
     
    For i = 2 To AppExcel.ActiveSheet.Range("D65000").End(xlUp).Row
                AppExcel.ActiveSheet.Range("D" & i) = CDbl(Replace(AppExcel.ActiveSheet.Range("D" & i), ".", ","))
    Next i
     
    AppExcel.Save
    AppExcel.Close
    Set AppExcel = Nothing
     
    end sub

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    Salut,

    je privilégierai
    au lieu de Close
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

Discussions similaires

  1. Manipuler une instance excel indépendante dans webbrowser
    Par pocoloco dans le forum Composants VCL
    Réponses: 0
    Dernier message: 02/12/2009, 15h07
  2. Importer une feuille excel dans une table Paradox ?
    Par Dalgo75 dans le forum Bases de données
    Réponses: 8
    Dernier message: 07/05/2006, 11h49
  3. [VBA-E]Relancer une instance excel : shellexecute ?
    Par boosty dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 14/02/2006, 09h49
  4. Comment insérer une macro excel dans une macro word?
    Par max2245 dans le forum VBA Word
    Réponses: 15
    Dernier message: 07/01/2006, 17h44
  5. ouvrir une feuille EXCEL dans Delphi.NET
    Par micha382 dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 04/11/2005, 22h35

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