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

IHM Discussion :

Envoyer les résultats d'une requête vers une feuille Excel bien définies


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 217
    Points : 53
    Points
    53
    Par défaut Envoyer les résultats d'une requête vers une feuille Excel bien définies
    BONJOUR,
    J'AI CREE UNE BASE DE DONNEES ACCESS , ET A L'AIDE D'UN FORMULAIRE J'AI REUSSI A AFFICHER LES INFORMATIONS QUE JE VEUX AVOIR.
    MON SOUCIS C'EST QUE JE VEUX BIEN TRANSFERER LE RESULTAT DE MA REQUETE VERS UNE FEUILLE EXCEL BIEN DEFINIES CONTENANT DES CHAMPS SPECIFIQUES.
    MERCI DE VOTRE AIDE;

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

    Puisque tu as une requête, définie un Recordset, et utilises la méthode CopyFromRecordset de l'objet Range d'Excel en définissant ta feuille.

    Tu auras de nombreux exemples en faisant des recherches sur le forum Access, la FAQ et les articles sur le pilotage d'Excel.

    Et une recherche sur CopyFromRecordset sur le forum Access te donnera des exemples.

    Starec

    De plus, évite d'écrire tes messages en majuscules.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 217
    Points : 53
    Points
    53
    Par défaut
    merci de ta reponse , je jetterais un coup d'oeil.
    j'ai trouvé un exemple qui traite mon probleme , cependant j'ai un soucis d'activation de biblotheque , j'arrive pas la trouver.
    Microsoft Excel...
    dans la documentation de cafeine, et dans l'onglet automation on me demande de le faire et je vois pas ou pourrais je trouvais l'onglet "reference" afin que je puisse activé la .
    merci

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 117
    Points : 78
    Points
    78
    Par défaut
    Utilise la méthode TransferSpreadSheet.

    Tape ça dans l'aide, après tu n'auras plus qu'a créer un bouton avec la ligne de code correspondante
    Traque les Travestis du forum

    Deux de trouvés !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 217
    Points : 53
    Points
    53
    Par défaut
    transferspreadsheet ne me resolu pas le probleme, j'en ai deja essayé , et la il y a des recommandation d'utiliser l'automation et je dois activer une bibliotheque et je vois pas pourrais je la trouvé
    merci tout de meme de ta reponse

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

    Citation Envoyé par totojordi Voir le message
    Utilise la méthode TransferSpreadSheet.

    Tape ça dans l'aide, après tu n'auras plus qu'a créer un bouton avec la ligne de code correspondante
    La méthode TransfertSpreadSheet ne permettra pas de faire la sélection du l'onglet (feuille).

    Citation Envoyé par Chikatilo Voir le message
    transferspreadsheet ne me resolu pas le probleme, j'en ai deja essayé , et la il y a des recommandation d'utiliser l'automation et je dois activer une bibliotheque et je vois pas pourrais je la trouvé
    merci tout de meme de ta reponse
    Dans l'éditeur VB, tu vas dans le menu Outils, puis référence, et tu coches La méthode TransfertSpreadSheet ne permettra pas de faire la sélection du l'onglet (feuille).
    Microsoft Excel 12.0 Object Library le numéro dépend de la version, ici 12 pour la version 2007, 11 pour la 2003, 10 pour la 2002, etc ...

    Starec

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 217
    Points : 53
    Points
    53
    Par défaut
    ok merci starec

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 217
    Points : 53
    Points
    53
    Par défaut
    re,
    j'ai pris le code mis par cafeine , et en excutant le programme j'ai un message d'erreur d'excution 3001;
    et l'erreur c'etait au niveau de "Set rec = CurrentDb.OpenRecordset("FINAL_GMS", dbOpenSnapshot)" il me signale que l'argument est invalide
    ma question est : est ce que ma syntaxe est correcte sachant que "Final_GMS" represente ma requete que je veux exporter ?
    sinon que pourrais je mettre a la place .
    cordialement

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

    Citation Envoyé par Chikatilo Voir le message
    ma question est : est ce que ma syntaxe est correcte sachant que "Final_GMS" represente ma requete que je veux exporter ?
    Il faudrait l'ensemble des paramètres, car cela n'est pas suffisant pour te répondre.

    Comment est ta requête ? Admet-elle des paramètres ?

    Nous sommes comme des mécaniciens, si on ne voit pas le moteur, on ne sera pas pourquoi la voiture ne roule pas.

    Starec

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 217
    Points : 53
    Points
    53
    Par défaut
    en gros le code est comme celui de cafeine , j'ai changer que le nom de ma requete
    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
    Option Compare Database
    
    Function TransfertExcelAutomation()
    
        Dim xlApp As Excel.Application
        Dim xlSheet As Excel.Worksheet
        Dim xlBook As Excel.Workbook
        Dim I As Long, J As Long
        Dim t0 As Long, t1 As Long
        
        t0 = Timer
        Dim rec As Recordset
        
        Set rec = CurrentDb.OpenRecordset("FINAL_GMS", dbOpenSnapshot)
        
        'Initialisations
        Set xlApp = CreateObject("Excel.Application")
        Set xlBook = xlApp.Workbooks.Add
       
        'Ajouter une feuille de calcul
        Set xlSheet = xlBook.Worksheets.Add
        xlSheet.Name = "Reporting Hebdo"
       
        ' le titre
        '  écriture dans la cellule de ligne 1 et de colonne 1
        xlSheet.Cells(1, 1) = "Export d'une table Access"
       
        
        ' les entetes
        '  .Fields(Index).Name renvoie le nom du champ
        For J = 0 To rec.Fields.Count - 1
            xlSheet.Cells(2, J + 1) = rec.Fields(J).Name
            ' Nous appliquons des enrichissements de format aux cellules
            With xlSheet.Cells(2, J + 1)
                .Interior.ColorIndex = 15
                .Interior.Pattern = xlSolid
                .Borders(xlEdgeBottom).LineStyle = xlContinuous
                .Borders(xlEdgeBottom).Weight = xlThin
                .Borders(xlEdgeBottom).ColorIndex = xlAutomatic
                .HorizontalAlignment = xlCenter
            End With
        Next J
        
        ' recopie des données à partir de la ligne 3
        I = 3
        Do While Not rec.EOF
            For J = 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(J).Type = dbText Then
                    xlSheet.Cells(I, J + 1) = "'" & rec.Fields(J)
                Else
                    xlSheet.Cells(I, J + 1) = rec.Fields(J)
                End If
            Next J
            I = I + 1
            rec.MoveNext
        Loop
       
        ' code de fermeture et libération des objets
        xlBook.SaveAs "d:\U463017\Bureau\Reporting.xls"
        xlApp.Quit
        rec.Close
        Set rec = Nothing
        Set xlSheet = Nothing
        Set xlBook = Nothing
        Set xlApp = Nothing
    
        t1 = Timer
        Debug.Print I & " enregistrements", Format(t1 - t0, "0") & " secondes"
    
    End Function
    apres avoir entrer certains criteres , je reussi a afficher ma requete selon les criteres que j'ai selectionné.
    maintenant le but est de transfere ce resultat vers Excel afin de remplir certain champs qui vont me permettre de tracer des graphiques

    merci

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 217
    Points : 53
    Points
    53
    Par défaut
    c'est encore moi ,
    j'ai reussi a resoudre le probleme , et voila j'ai rencontrer un autre.
    sur mon formulaire je fais une recherche selon la date debut et date fin pour que je puisse afficher les information correspondantes a un reseaux dans cet intervalle de temps.
    le soucis est que maintenant , je recois un message d'erreur a ce sujet de type : trop peu de parametre.2 attendu.
    comment pourrais je regler ce probleme ?

Discussions similaires

  1. [Toutes versions] Exporter le résultat d'une requête vers un fichier excel.
    Par Mat08 dans le forum VBA Access
    Réponses: 7
    Dernier message: 22/09/2009, 17h08
  2. Copier une requête d'une base vers une autre
    Par david71 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 04/06/2008, 09h36
  3. Regrouper les résultats de 3 requêtes en une seule
    Par getz85 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 28/01/2008, 18h39
  4. Transférer les résultats d'un calcul d'une requête à una table
    Par Delfin dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 14/06/2007, 09h11
  5. Basculer le résultat Requête d'une listebox vers une autre
    Par Daniel MOREAU dans le forum Access
    Réponses: 2
    Dernier message: 14/04/2006, 21h26

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