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 :

Export Etat avec paramètre vers excel


Sujet :

VBA Access

  1. #1
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 219
    Points : 108
    Points
    108
    Par défaut Export Etat avec paramètre vers excel
    Hello tout le monde, et merci de m'aider.

    Voila, j'ai parcouru le forum ainsi que le tutorial concernant l'export vers excel mais je ne trouve pas mon cas de figure...


    Exporter un etat, je sais faire.

    Seulement, mon problème et que je voudrais exporter (et non pas imprimer comme j'avais écrit précédemment... sorry)un état avec les memes paramètres que lorsque je l'ouvre.

    voici le code d'ouverture de l'état:

    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
     
        Dim stDocName As String
        Dim condition As String
     
        'condition pour les priorités selectionnées
        condition = condition & "([Projects].[ID_Priority]= 999"
     
        Dim i As Integer
        For i = 1 To 12
            If (Me.Controls("cocher" & i).Value) Then
                condition = condition & " OR [Projects].[ID_Priority]= " & i
            End If
        Next
        condition = condition & ")"
    stDocName = "Listing_Participations_Member"
        DoCmd.OpenReport stDocName, acPreview, , condition

    en gros, l'utilisateur selectionne des priorités grace à des case à cocher, et en fonction de ces selections, j'affiche l'état.

    est il possible de faire pareil, mais au lieu de l'afficher, l'exporter directement dans excel?

    Merci beaucoup

  2. #2
    Nouveau membre du Club
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 35
    Points
    35
    Par défaut
    Je pense (sans certitude absolue) que tu ne vas pas "exporter un état dans Excel" mais plutôt créer un fichier Excel en fonction de tes paramètres. En gros tu dois utiliser l'automation.

    1/ Création des objets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Dim xlApp As Object
        Dim XLBook As Object
        Dim XLSheets As Object
    2/ Initialisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Set xlApp = CreateObject("Excel.Application")
        Set XLBook = xlApp.Workbooks.Add
        Set XLSheets = XLBook.Worksheets(1)
    3/ Le petit plus qui fait pas de mal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        xlApp.Visible = True ' ou pas
        xlApp.Calculation = xlManual
     
    ' ... L'ensemble de ton traitement (voir point 4)
     
        xlApp.Calculation = xlAutomatic
        xlApp.Calculate
    4/ Le remplissage. Quelques exemples en tas :
    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
        XLSheets.Cells.Select
        XLSheets.Application.Selection.Font.Name = "Times New Roman"
        XLSheets.Application.Selection.Font.Size = 9
     
        XLSheets.Rows("1:9").Font.FontStyle = "Gras"
     
        XLSheets.Application.Selection.HorizontalAlignment = xlCenter
        XLSheets.Application.Selection.VerticalAlignment = xlCenter
        XLSheets.Application.Selection.WrapText = True
     
        XLSheets.Range("B1:B9").MergeCells = True
     
        XLSheets.Rows("8:9").RowHeight = 32
        XLSheets.Rows("10:10").RowHeight = 9
     
        XLSheets.Range("A1").Value = "Pouet"
        XLSheets.Range("A10").FormulaLocal = "=SOMME(C:C)"
     
        With XLSheets.Application.Selection.Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .Weight = xlMedium
            .ColorIndex = xlAutomatic
        End With
    J'espère que ça te suffira. Je pense que tu vas être obligé de te taper la mise en page de cette façon. Bon courage.

  3. #3
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 219
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par El_Manu Voir le message
    J'espère que ça te suffira. Je pense que tu vas être obligé de te taper la mise en page de cette façon. Bon courrage.


    Merci pour ta réponse. Mais justement, je ne voudrais pas passer par la lourde méthode qu'est l'automation.

    Il doit surement y avoir une autre solution plus rapide.

    en fait, je voudrais simuler le fait que, une fois que l'état est ouvert, on clique droit dessus, et on fait "exporter" et on choisit le format excel.

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

    Tu ne pourras pas importer un Etat Access tel quel dans un fichier Excel.

    Les deux seules manières de conserver un Etat sous sa forme sont :

    - Création d'un PDF
    - Export au format Snapshot.

    Sinon il y'a la solution de El_Manu, mais hardue.

    Je ne vois pas le but de l'exporter sous Excel.

    Starec

  5. #5
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 219
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par Starec Voir le message
    Bonjour

    Tu ne pourras pas importer un Etat Access tel quel dans un fichier Excel.

    Les deux seules manières de conserver un Etat sous sa forme sont :

    - Création d'un PDF
    - Export au format Snapshot.

    Sinon il y'a la solution de El_Manu, mais hardue.

    Je ne vois pas le but de l'exporter sous Excel.

    Starec

    J'ai du mal m'exprimer.

    C'est en fait la requete (donc les données) sur laquelle l'état se base, que je veux exporter(exactement, comme si j'ouvrais l'état, que je faisais un clique droit dessus, "exporter", et qu'ensuite je choisissais le format excel).


    Seulement, lorsque j'ouvre cet état à partir du formulaire, j'envoie des paramètres(choisi par l'uilisateur sur le formulaire) supplémentaires à cette requete.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport stDocName, acPreview, , "[Projects].[ID_Priority]=" & ChoixdeLUtilisateur
    Et c'est donc les données de cette requete afinée par les paramètres choisis par l'utilisateur sur le formulaire, que je voudrais exporter dans excel.

Discussions similaires

  1. exporter un data grid vers excel avec flex
    Par yazid06 dans le forum Flex
    Réponses: 1
    Dernier message: 23/04/2012, 15h26
  2. Réponses: 1
    Dernier message: 03/06/2009, 16h14
  3. exporter une grid avec pagination vers excel
    Par badi3a82 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 23/10/2008, 14h34
  4. [ETAT]exportation état access 2007 vers excel 2007
    Par Shinigami-hime dans le forum Access
    Réponses: 0
    Dernier message: 24/04/2008, 11h44
  5. [VBA-A2003] Export d'un Recordset vers Excel, avec SQL statement
    Par Wanoo14 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/04/2006, 22h06

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