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

Access Discussion :

Connexion entre access et fichier excel


Sujet :

Access

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2012
    Messages : 27
    Points : 16
    Points
    16
    Par défaut Connexion entre access et fichier excel
    Bonjour à tous,
    Je suis confrontée a un problème que je n'arrive pas à résoudre.
    Voici le contexte.
    Une fonction en VBA a été implémentée sous access. Cette fonction est reliée à un fichier excel. Cette fonction calcule pour chaque personne présente dans la base de données un montant propre à chaque personne.
    A chaque fois que je fais une extraction de la base de donnée la fonction va calculer ce montant.
    Je dois donc ouvrire et fermer le fichier excel à chaque fois. Le programme a l'aire de fonctionner pour 2 à 3 personnes et ensuite il s'arrête.
    Je suspecte un problème entre la connextion du fichierexcel et la fonction lorsque je quitte le fichier excel.
    Voici le code que j'ai dans ma fonction:

    Dim ExcelPourX As New Excel.Application

    Public Function X(.......)
    ....
    Set ExcelPourX = CreateObject("excel.Application")
    ExcelPourX.visible = True
    ExcelPourX.Workbooks.Open (".......xlsx")
    ExcelPourX.ActiveWorkbook.RefreshAll
    .....

    Call ExcelPourX.ActiveWorkbook.Close(True)
    ExcelPourX.Application.Quit

    Set ExcelPourX = Nothing

    Exit Function
    End function

    Avez-vous une idée de pourquoi sa bloque?
    D'avance je vous remercie.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    C'est bien possible, si tu es dans une boucle essaye de mettre la création et la suppression de l'application excel en dehors de ta boucle pour ne la faire qu'une seule fois. Cela devrait aussi réduire le temps de traitement car ouvrir ou fermer une application sont des oppération longues et qui consomment pas mal de ressources.

    Voilà comment je ferai :

    Création de l'application Excel
    Ici la boucle de traitement
    Ouvre le classeur Excel voulu
    Lance le calcul voulu
    Ferme le fichier excel
    Fin de boucle
    Fermeture de l'application Excel

    Note que tu peux passer une application en paramètre d'une fonction ou d'une procédure en mettant ByRef et l'utiliser dans ta fonction. Cela ressemble à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public Sub TraiteExcel(byRef prmExcel as Variant) 'Ou mieux as Excel
        call prmExcel.Workbooks.Open(...
        '
        'Ici ton code
        '
        Call prmExcel.ActiveWorkbook.Close(True)
     
    end sub
    Sinon

    1. As-tu un message d'erreur lors de l'arrêt ?
    2. Es-tu aller voir dans la liste des processus si tu n'avais pas un paquet de Excel ouverts mais invisibles ?


    A+

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2012
    Messages : 27
    Points : 16
    Points
    16
    Par défaut
    Merci beaucoup pour la réponse.
    Malheureusment je suis obligée d'ouvrir et fermer le fichier à chaque fois.
    Il y a un message d'erreur au milieu de ma fonction mais ça change à chaque fois d'endroit! De plus je suis certaine que cette fonction compile correctement car j'ai exactement la même fonction dans excel et elle marche très bien.

    Pour le reste des suggesions je vais encore enquêter, merci.

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2012
    Messages : 27
    Points : 16
    Points
    16
    Par défaut
    Comment puis-je avoir accès à la liste des processus ?

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2012
    Messages : 27
    Points : 16
    Points
    16
    Par défaut
    C'est tout bon j'ai trouvé!
    Ca fonctionne quand je lui spécifie le nom de l'ActiveWorkbook!

    Merci beaucoup!!

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

Discussions similaires

  1. [2007] Problème connexion entre Access et Excel
    Par T4keo dans le forum Microsoft Office
    Réponses: 1
    Dernier message: 10/03/2014, 10h07
  2. Connexion entre du code VBA (excel, access) et mainframe
    Par richie_leffe dans le forum z/OS
    Réponses: 3
    Dernier message: 10/06/2010, 10h15
  3. [Access 2007] Fichier excel qui ne s'ouvre pas
    Par enkie dans le forum VBA Access
    Réponses: 5
    Dernier message: 07/08/2008, 10h08
  4. exporter requete access vers fichier excel
    Par pmax35 dans le forum ASP
    Réponses: 11
    Dernier message: 07/08/2007, 17h06
  5. Lien entre base access et fichier Excel
    Par Eilat dans le forum VBA Access
    Réponses: 4
    Dernier message: 27/06/2007, 19h55

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