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

Runtime Discussion :

Export d'Access vers Excel en utilisant Access Runtime 2007


Sujet :

Runtime

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 65
    Par défaut Export d'Access vers Excel en utilisant Access Runtime 2007
    Bonjour,

    j'ai fait une application sous Access 2007 qui exporte des données vers Excel. Avec la version complète, aucune erreur, tout se passe très bien. Avec la version Runtime, il génère une erreur qui conduit à fermer l'application.

    Le pire c'est que en supprimant le bouton ou en le renommant, ça remarche pendant un temps avec les deux versions. Et puis, il génère de nouveau une erreur sous la version Runtime...

    Comment eviter cela ? Comment rendre l'export de données vers Excel moins 'délicat' ?

    Merci de votre réponse, parce que, là, moi, je sêche...

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Peut-être un problème dans ton code, ouvres-tu une session Excel, et la fermes-tu correctement ?

    Philippe

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 65
    Par défaut
    Merci pour une réponse si rapide !

    Voici le début et la fin de mon code (il est très très long, jusqu'à 1260 lignes) :

    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
    33
    34
    35
    36
    37
    Public xlApp as Excel.Application
    Public xlSheet as Excel.Worksheet
    Public xlBook as Excel.Workbook
     
    sub Export_Excel
        'Initialisations
        Set xlApp = CreateObject("Excel.Application")
        Set xlBook = xlApp.Workbooks.Add
     
        'Ajouter une feuille de calcul
        Set xlSheet = xlBook.Worksheets.Add
        xlSheet.Name = "Marché de travaux"
     
        '  écriture dans la cellule de ligne 1 et de colonne 1
        xlSheet.Cells(1, 1) = "MP ACCESSOR"
        xlSheet.Cells(1, 1).Font.Bold = True
     
     
        [...]
     
     
        ' code de fermeture et libération des objets   
        MSG = MsgBox("          --- Opération réussie ---" & vbNewLine & vbNewLine & _
        "Le fichier Excel se trouve sur le bureau avec pour nom : " & xlBook.Name & "." _
        & vbNewLine & vbNewLine & "Voulez-vous ouvrir ce fichier ?", vbYesNo, "Exportation des données")
        If MSG = vbYes Then
            xlApp.Visible = True
        Else
            xlApp.Quit
        End If
     
        Set Enreg_T = Nothing
        Set xlSheet = Nothing
        Set xlBook = Nothing
        Set xlApp = Nothing
     
    End sub
    C'est un code que j'avais trouvé sur le net. Il fonctionne sans problème sur la version complète. Mais sur la version Runtime, ça marche puis si je retrafic quelque chose, ça ne marche plus. Alors je fais un peu de bidouille (je supprime le bouton et je remets le même, ou je mets mon code dans un module au lieu de le laisser dans le Userform...) et là ça remarche. Et parfois, au bout d'un certain temps, ça replante...

    Là, franchement, je ne vois pas comment faire

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 129
    Par défaut
    Bonjour,

    Il me semble que je fais pareil et ça marche bien...
    Seule différence trouvée je fais xlbook.close avant xlapp.quit

    Par contre attention ce type de code ouvre une cession excel à chaque exécution (et non une nouvelle fenêtre dans une cession existante le cas échéant). Il faut donc bien vérifier que la cession est systématiquement close. Le plus simple pour cela est d'aller voir dans le gestionnaire des taches s'il ne reste pas de processus excel.exe.

    Y a-t-il une différence selon le choix de l'utilisateur ?
    Quelle est l'instruction qui plante ?

    NB : il est possible de tester l'existence d'une cession excel et de l'utiliser si oui mais dans ce cas si l'utilisateur a une saisie en cours sur un autre tableau ça bloque le code donc ce n'est pas préférable à mon avis...

  5. #5
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 134
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Que tu fais de l'OLE, si je puis encore employer ce terme, il faut spécifier dans une variable le nom du fichier qui se construit.
    Tu fais ta moulinettes et tu quittes. Tu mets (tous) tes objets à Nothing.

    Ne propose pas (jamais) de réafficher l'instance car là, tu fragilises le système dans le sens où elle est instanciée par son Parent et en l'occurence Access (Runtime ou non).

    Ensuite, si l'utilisateur répond oui à ton message - euh, entre () je préfère mettre une case à cocher près du bouton qui stipule "Ouvrir après génération" comme cela, il fait ce qu'il veut. - alors tu lances Excel via un Shell comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dblShell=Shell("EXCEL.EXE " & strXLFileName, 3)
    strXLFileName est le nom complet de ton fichier que tu as généré...

    Tu ne devrais plus rencontrer de problème...

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 65
    Par défaut
    Un grand merci pour votre aide (super rapide, d'ailleurs !!!). Je vais essayer l'histoire de Argyronet et mettre aussi xlbook.close...

    Je vous tiens au courant

Discussions similaires

  1. exporter des données access vers excel
    Par Sebastien_INR59 dans le forum Access
    Réponses: 8
    Dernier message: 20/06/2006, 23h29
  2. Problème pour exporter une table Access vers Excel
    Par PAULOM dans le forum Access
    Réponses: 22
    Dernier message: 02/05/2006, 13h42
  3. export access vers excel en asp
    Par oniric dans le forum ASP
    Réponses: 9
    Dernier message: 24/03/2006, 14h21
  4. Exportation de Access vers Excel
    Par charleshbo dans le forum Access
    Réponses: 6
    Dernier message: 10/03/2006, 09h03
  5. Export de données d'Access vers Excel
    Par ROPERS dans le forum Access
    Réponses: 4
    Dernier message: 11/10/2005, 17h44

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