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 :

Importer des requetes paramétrées d'access vers excel


Sujet :

Access

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 18
    Points : 8
    Points
    8
    Par défaut Importer des requetes paramétrées d'access vers excel
    Bonjour à tous, j'aimerais savoir comment faire pour exporter plusieurs requêtes paramétrées via la méthode d'automation d'ACCESS vers Excel. J'ai tenté ce code mais il ne marche pas. je vous montre ce que ça donne pour une requête.
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    Function TransfertExcel()
    Dim xlApp           As Excel.Application
    Dim xlSheet         As Excel.Worksheet
    Dim xlBook          As Excel.Workbook
    Dim t0 As Single
    Dim rec As DAO.Recordset
     
        t0 = Timer
     
        Dim cdb As DAO.Database, qdf As DAO.QueryDef
    Const tempTableName = "_tempTbl"
    Set cdb = CurrentDb
     
    On Error Resume Next
    DoCmd.DeleteObject acTable, tempTableName
    On Error GoTo 0
    Set qdf = cdb.CreateQueryDef("")
    qdf.SQL = "SELECT * INTO [" & tempTableName & "] FROM [Reqeaug]"
    qdf.Parameters("[Formulaires]![Naviguationpptésfluide]![Texte20]").Value = Forms![Naviguationpptésfluide]!Texte20.Value  ' test data
    qdf.Parameters("[Formulaires]![Naviguationpptésfluide]![Texte22]").Value = Forms![Naviguationpptésfluide]!Texte22.Value
    'Forms![Naviguationpptésfluide].Form!Fille7!Températurefumeechaudiere10T.Value
    qdf.Execute
     
     
        'Initialisations
        Set xlApp = CreateObject("Excel.Application")
        Set xlBook = xlApp.Workbooks.Add
        'Ajouter une feuille de calcul
        Set xlSheet = xlBook.Worksheets.Add
        xlSheet.Name = "Tutor1"
        'Set rec = CurrentDb.OpenRecordset("tempTableName", dbOpenSnapshot)
        'OpenRecordset("tempTableName", dbOpenSnapshot)
        ' le titre1
        ' écriture dans la cellule de ligne 1 et de colonne 1
        xlSheet.Cells(1, 1) = "Première Structure des donées"
        ExportFeuille xlSheet, tempTableName
     
      ' code de fermeture et libération des objets
        Set qdf = Nothing
        Set cdb = Nothing
        xlBook.SaveAs "C:\Users\utilisateur\Desktop\documents du stage\formulaire.xlsx"
        xlBook.Close False
        rec.Close
        Set rec = Nothing
        Set xlSheet = Nothing
        Set xlBook = Nothing
        xlApp.Quit
        Set xlApp = Nothing
        Debug.Print "Export complet en ", Format(Timer - t0, "0") & " secondes"
    End Function
    La sous procédure appelée est
    Private Sub ExportFeuille(xlSheet As Excel.Worksheet, rec As DAO.Recordset)
    Dim FieldPointer As Long
    Dim RowPointer As Long
     
        'les entetes
        ' .Fields(Index).Name renvoie le nom du champ
        For FieldPointer = 0 To rec.Fields.Count - 1
            With xlSheet.Cells(3, FieldPointer + 1)
                .Value = rec.Fields(FieldPointer).Name
                ' Nous appliquons des enrichissements de format aux cellules
                .Interior.ColorIndex = 15
                .Interior.Pattern = xlSolid
                With .Borders(xlEdgeBottom)
                    .LineStyle = xlContinuous
                    .Weight = xlThin
                    .ColorIndex = xlAutomatic
                End With
                .HorizontalAlignment = xlCenter
            End With
        Next FieldPointer
        ' recopie des données à partir de la ligne 3
        RowPointer = 4
        rec.MoveFirst
        Do While Not rec.EOF
            For FieldPointer = 0 To rec.Fields.Count - 1
                ' .Fields(Index).Type renvoie le type du champ
                ' si c'est un Texte (dbText) nous insérons "'" pour
                ' qu'il soit reconnu par Excel comme du Texte
                If rec.Fields(FieldPointer).Type = dbText Then
                    xlSheet.Cells(RowPointer, FieldPointer + 1) = "'" & rec.Fields(FieldPointer)
                Else
                    xlSheet.Cells(RowPointer, FieldPointer + 1) = rec.Fields(FieldPointer)
                End If
            Next FieldPointer
            RowPointer = RowPointer + 1
            rec.MoveNext
        Loop
     
     
     
    End Sub
    Svp aidez moi, xa fait plus de trois semaines que je suis la dessus

  2. #2
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 671
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 671
    Points : 2 491
    Points
    2 491
    Par défaut Importer des requetes paramétrées d'access vers excel
    Ce serait beaucoup plus simple (si ton code ne fonctionne toujours pas) d'ouvrir XL, et via le ruban Données: Get External data / from other sources (j'imagine que dans une version FR de Xl, ça donnerait Importer données externes / autres sources), et suivre les instructions sur écran, en fonction de l'option choisie.

Discussions similaires

  1. [XL-2010] code pour importer un requete de report builder vers excel (dynamics)
    Par chafoo dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 21/01/2015, 11h09
  2. Réponses: 21
    Dernier message: 03/03/2010, 19h09
  3. Passage de paramètre depuis Access vers Excel
    Par funkyjul dans le forum VBA Access
    Réponses: 4
    Dernier message: 07/10/2008, 09h43
  4. Importer des donées de script vb vers excel
    Par ghostvb dans le forum VBScript
    Réponses: 2
    Dernier message: 27/06/2008, 11h49
  5. Réponses: 3
    Dernier message: 27/07/2007, 15h21

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