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 :

[Excel] mise en page d'un export venant d'Access


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 96
    Points : 52
    Points
    52
    Par défaut [Excel] mise en page d'un export venant d'Access
    Salut,
    le titre en dit beaucoup.
    Je veux mettre en page un fichier Excel vide (genre en tete, pied de page avec des données recuperes de mon aplli access) et placer les resultats d'une requete dedans.

    Placés une requete dans un Excel c'est facile:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub imprimante_Click()
        Dim qd As QueryDef
        Dim my_sql_1 As String
        my_sql_1 = "select * FROM document, type WHERE document.type=type.nom AND document.projet=forms!F_menu!projet ORDER BY document.emisle DESC;"
        Set qd = CurrentDb.CreateQueryDef("requete_temp", my_sql_1)
        DoCmd.TransferSpreadsheet acExport, , "requete_temp", "c:\jb.xls"
        DoCmd.DeleteObject acQuery, "requete_temp"
    End Sub
    Mais moi je veux avoir un modéle de fichier excel et placé la requete dedans!!
    Merci d'avance
    Cordialement

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    simple conseil générique, as-tu lu mon tutoriel sur les exports Excel ?

    J'aborde justement les problématiques de formatage et les différentes méthodes.

    Bonne lecture (lien dans ma signature).

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 96
    Points : 52
    Points
    52
    Par défaut
    je regarde ca!!

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 96
    Points : 52
    Points
    52
    Par défaut
    D'abord merci pour ta réponse rapide.
    Ensuite merci pour ce tutoriel super qui répond parfaitement à mes attentes!!
    Et enfin merci pour vos futures réponses... Et vi tout n'est pas parfait dans ce monde imparfait! J'ai donc encore quelques petits problèmes qui nécessitent un peu d'aide!!

    J'ai utilisé ton script sans presqu'aucune modif, il a fonctionné une fois. Seulement, je ne peux plus l'utiliser car Access me sort une erreur:

    Erreur d'execution 1004
    MO Excel ne peut aceder au fichier c:\kleenex.xls plusieurs raisons possibles:
    *le nom du fichier n'existe pas (ce qui serait logique car je veux le creer)
    *Ce fichier est utilise par un autre programme
    *Le classeur que vs voulez enregistrer porte le meme nom qu'un classeur ouvert
    A priori Excel n'est pas ouvert et j'ai supprimé le fichier que j'vais crée la premiere fois!! Je ne vois pas d'ou peut venir l'erreur!

    edit:excel figure cependant ds mes processus!! Mais pas dans mes applications. Je peux seulement tuer le processus!!

  5. #5
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Il est dans tes process car ton code a planté avant la libération de l'instance ...

    à ce moment là, tu dois tuer le process et déboguer ton code ...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 96
    Points : 52
    Points
    52
    Par défaut
    Voici mon code qui ressemble bcp à celui du tuto:

    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
    38
    39
     Dim I As Long
        Dim J As Long
        Dim xlAp As Excel.Application
        Dim xlSheet As Excel.Worksheet
        Dim xlBook As Excel.Workbook
     
        Dim my_sql_1 As String
        Dim rst1 As Recordset
        my_sql_1 = "select * FROM document"
        Set rst1 = CurrentDb.OpenRecordset(my_sql_1)
     
        'initialisations
        Set xlAp = CreateObject("Excel.application")
        Set xlBook = xlAp.workbooks.Add
     
        'ajouter une feuille de calculs
        Set xlSheet = xlBook.worksheets.Add
        xlSheet.Name = "toto"
     
        ' les entetes
        '  .Fields(Index).Name renvoie le nom du champ
        For J = 0 To rst1.Fields.Count - 1
            xlSheet.Cells(1, J + 1) = rst1.Fields(J).Name
            ' Nous appliquons des enrichissements de format aux cellules
            With xlSheet.Cells(2, J + 1)
                .Interior.ColorIndex = 15
                .Interior.Pattern = xlSolid
            End With
        Next J
     
     
        ' code de fermeture et libération des objets
        xlBook.SaveAs "c:\jabu2_" & Date & ".xls"
        xlAp.Quit
        rst1.Close
        Set rst1 = Nothing
        Set xlSheet = Nothing
        Set xlBook = Nothing
        Set xlAp = Nothing
    Je ne vois pas d'ou peut venir l'erreur!

  7. #7
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    devrait arriver en derneir, je pense

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 96
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par Frank
    devrait arriver en derneir, je pense
    j'ai fait la modif ca marche pas mieux!!


    EDIT:j'ai identifié le problème, je pense. C'est dans mon "save". Je ne lui donne pas un nom de fichier précis mais un nom construit avec des varaibles (date, controle de forumlaire...)!!
    Comment puis-je faire ca?

  9. #9
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print "c:\jabu2_" & Date & ".xls"
    .

    Car si Date contient des "/" le nom de fichier ne sera pas valide ...

    essaie de faire Format(Date, "yyyy-mm-dd")

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 96
    Points : 52
    Points
    52
    Par défaut
    pour cafeine!!!



    Cafeine tes un tueur!!!!!

    Merci beaucoup!!! Ca marche nickel!
    Je vais tester les différentes options de mise en page maintenant!

    edit: j'ai trouve a peu pres toutes les propriete pour faire ma mise en page (paysage, en pied, en tete...) mais il m'en manque une, j'en ai essaye des dizaines, je la trouve pas!!!!!
    La propriété Ajuster de Excel pour que mon tableau ne tienne que sur une page, c'est xlsheet.pagesetup. ....????

    edit2: de plus je recupere des dates de ma requete. Elles sont écrites ainsi dans mon fichier excel 38632!! Donc je ne recup pas les bonnes dates!

    Merci d'avance

  11. #11
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    salut,

    Pour la mise en page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FitToPagesWide = 1
    FitToPagesTall = 1
    Pour les dates : http://www.developpez.net/forums/vie...asc&highlight=
    à faire si le champ de recordset est de type date.

    Bye.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 96
    Points : 52
    Points
    52
    Par défaut
    Arkham=>J'avais déjà essayé les deux commandes que tu m'indiques mais elles ne marchent pas pour faire un 'ajuster'; Mon document excel produit tient tjours sur 2pages! Pourtant sur un faq de dev.com j'ai trouvé ces deux commandes??? comprends pas!!

    Je regarde pr les dates
    edit: les dates c'est comme ca

  13. #13
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    si le document est trop long il ne pourra pas réduire à une page...

    essaye de le mettre en forme en direct dans excel pour vérifier.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 96
    Points : 52
    Points
    52
    Par défaut
    bonjour,

    :trouve:

    En surfant un peu sur le net j'ai trouvé un post d'un gars qui avait le même problème. En fait, lorsqu'on utilise FitTopagestall et fittopageswide, il ne faut pas oublier de desactiver le zoom sinon ca ne marche pas!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'ajuster sur une page en largeur
        xlSheet.PageSetup.Zoom = False
        xlSheet.PageSetup.FitToPagesWide = 1

    Merci a tous!!

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juin 2006
    Messages : 86
    Points : 48
    Points
    48
    Par défaut
    Bonjour,

    J'essaye d'exporter des tables et requetes vers Excel et je m'inspire du lien donné précédemment.

    Mais PROBLEME :

    J'ai un message d'erreur concernant la ligne : Dim xlAp As Excel.Application

    Voici le message: Erreur de compilation : type défni par l'utilisateur non défini !!!!

    Quelqu'un peut il m'aider ? j'utilise Access 2000 (j'ai donc la référence Miscrosoft Excel 9.0 et pas la 10.0 :ça vient de là ???).

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

Discussions similaires

  1. [2.2.0] Mise en page de l'exportation excel
    Par ravaid dans le forum BIRT
    Réponses: 13
    Dernier message: 08/06/2009, 11h50
  2. [Excel] Mise en page
    Par Sheraf dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 07/03/2007, 15h05
  3. [Excel] Mise en page
    Par griffit dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/02/2007, 11h22
  4. probleme excel mise en page
    Par griffit dans le forum C++Builder
    Réponses: 2
    Dernier message: 05/02/2007, 14h21
  5. Export vers excel mise en page
    Par Renardo dans le forum Access
    Réponses: 7
    Dernier message: 16/01/2007, 20h26

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