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 :

Génerer un fichier excel via VBA access


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 253
    Points : 90
    Points
    90
    Par défaut Génerer un fichier excel via VBA access
    Bonjour,

    Je dispose d'une requête Access 2007 qui contient les champs ci-après:

    Mois
    Etablissement
    Présents
    Reçus
    Tot_Absence

    Mon but est vouloir génerer via un code VBA le fichier Excel ci-joint et d'automatiser cette création.

    Etant novice en VBA je viens soliciter votre aide.Toute piste de reflxion serait la bienvenue.
    Merci d'avance,

    Kedmard

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 286
    Points : 383
    Points
    383
    Par défaut
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferSpreadsheet acExport, 8, "NOM DE TA REQUETE", "CHEMIN ET NOM FICHIER .XLS EN SORTIE", True, ""
    Ca devrait fonctionner si le but est d'exporter ta requete.
    Ensuite dans l'excel ainsi généré, rien ne t'emp^che de prévoir un quelconque formatage à partir de cette "extraction".

    Je n'arrive pas à voir ton fichier joint.
    Michel

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 253
    Points : 90
    Points
    90
    Par défaut
    salut, merci pour de l'attention que tu accordes à mon problème tiens je renvoie le fichier Excel.

    Au fait j'obliais j'au aussi un champ ville et les feuilles excel générées doivent être distinctes par ville comme l'indique la PJ.

    Cordialement,
    Fichiers attachés Fichiers attachés

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 286
    Points : 383
    Points
    383
    Par défaut
    Pour ma part, en terme de piste, ce que je ferais serait la chose suivante (je travaille avec Excel 2003 et Acces 2003 ... à adapter éventuellement pour versions ultérieures) :

    1/ Dès lors que ta requête existe et a été enregistrée en tant que telle dans ton Access :

    Dans excel, sur un onglet à part :
    DONNEES / DONNEES EXTERNES / IMPORTER DES DONNEES
    et je désignerais ma Base ACCES et dans celle-ci la requête en question.

    Ton fichier Excel serait de cette manière "lié" à ta base et exécuterait ta requête à chaque fois que tu actualiserais la liaison dans Excel (ainsi tu aurais l'équivalent du résultat de ta requête dans Excel).

    2/Ensuite j'établirais les liens qui me permettraient de construire les divers tableaux dont tu as besoin dans les autres onglets utlisant des fonctions comme "Somme.si" et "RechercheV"

    ---

    C'est en tout cas ainsi que je procède lorsque j'ai ce type de problème : récupération des données dans Excel (avec actualisation à chaque ouverture), ce qui me permet ensuite de ne travailler que dans Excel

    Michel

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 253
    Points : 90
    Points
    90
    Par défaut
    Salut, Orion,
    Ton idée est intéressante mais j'ai quelques questions :
    est-il possibles d'avoir une requête ayant la forme du fichier joint?
    je dois ensuite envoyer de façon automatique le fichier Excel généré par mail à certains nombres de destinataires; comment écrire un code vb qui déclenchera l'Envoie par mail de ce fichier liée?

    Merci bien,

  6. #6
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 286
    Points : 383
    Points
    383
    Par défaut
    Bonsoir, je ne sais pas si en une seule requête c'est ou non possible.
    Je t'ai cependant mis un petit exemple de la manière dont je procèderais en fichier joint.

    Tu places Bd1.mdb et Bd1.xls dans un dossier sur ton bureau
    --> Bd1.mdb te permet de saisir des valeurs dans la table "table1"
    --> Bd1.xls importe ces valeurs et les formatte comme tu le souhaites après avoir cliqué sur le bouton.

    17H08 : je viens de changer le fichier joint ... celui-ci est le bon !

    Michel
    Fichiers attachés Fichiers attachés
    • Type de fichier : zip bd1.zip (53,3 Ko, 133 affichages)

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 253
    Points : 90
    Points
    90
    Par défaut
    Bonjour Orion,

    Ton travail est bon, merci; le problème réside au niveau de l'automatisation le fait qu'il y ait un bouton donc une action qui necessite mon apport fausserai l'automatisation, car l'envoie automatique du contenue de ce fichier excel se fera parfois à des heures où je serai pas du tout présent.

    C'est vraiment ce qui m'embête, merci quand même.

  8. #8
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 286
    Points : 383
    Points
    383
    Par défaut
    Il te suffit de mettre le code du programme que je t'ai fourni dans
    Workbook.open() et il s'exécutera automatiquement à l'ouverture du fichier EXCEL sans besoin du bouton d'actualisation.
    Michel

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 253
    Points : 90
    Points
    90
    Par défaut
    Bonjour,
    Excuses moi , pourrai-tu être plus explicite.
    Merci.

  10. #10
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 286
    Points : 383
    Points
    383
    Par défaut
    Bien sûr.
    Mais je crois que le mieux est un exemple : voir fichier joint

    Tu commences par renseigner Bd1.mdb puis tu fermes la base
    ensuite tu ouvres Bd1.xls et automatiquement ton tableau se met à jour.

    Tu trouveras le code utilisé à l'ouverture du ficher Excel dans "visual basic editor" (sous Excel 2003 menu : Outils / MAcro / Visual Basic Editor).

    Michel
    Fichiers attachés Fichiers attachés
    • Type de fichier : zip bd1.zip (53,7 Ko, 152 affichages)

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 253
    Points : 90
    Points
    90
    Par défaut
    Bonjour,
    pour cette réponse tardive.
    Je te remercie en tout cas pour ton aide.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 25/08/2008, 13h36
  2. Réponses: 1
    Dernier message: 25/08/2008, 11h57
  3. Tracé graphique sur fichier excel depuis vba access
    Par kdestine dans le forum VBA Access
    Réponses: 0
    Dernier message: 26/09/2007, 12h37
  4. Mise en page Excel via VBA Access
    Par popo68 dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/11/2006, 17h03
  5. créer un fichier excell avec VBA(access)
    Par JCH dans le forum Access
    Réponses: 1
    Dernier message: 19/09/2006, 19h07

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