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 :

exportation d une requete vers Excel


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 71
    Points : 41
    Points
    41
    Par défaut exportation d une requete vers Excel
    Bonjour,

    je souhaite exporter le resultat d une requete sur excel et j ai trouve le code suivant :

    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
     
    message = MsgBox("Do you want to export the relative data to an Excel application ?", vbYesNo)
     
    If message = vbYes Then
     
        Dim appexcel As Excel.Application
        Dim wbexcel As Excel.Workbook
        Dim wsexcel As Excel.Worksheet
     
     
    'Appel du fichier Excel
     
        Set appexcel = CreateObject("Excel.Application")
        appexcel.Visible = True
        Set wbexcel = appexcel.Workbooks.Open("....xls")
     
    'Appel de la feuille correspondante
     
        appexcel.Sheets("Daily").Select
     
     
    'Remplissage dans Excel (Exemple à partir d'une requête), sur des cellules bien précises
        For I = 2 To 31
     
        appexcel.Cells(1, I) = rst![Nomduchamp1]
        appexcel.Cells(3, I) = rst![Nomduchamp2]
    etc...
     
         Next I
    End If
    seulement je ne vois pas a quel moment on dit a partir de quelle requete on exporte...

    Pourriez vous m eclairer ??

    Merci pour votre aide

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 71
    Points : 41
    Points
    41
    Par défaut
    j ai egalement trouve ce code :

    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
    Dim rec As Recordset
     
        Set rec = CurrentDb.OpenRecordset("Clients", dbOpenSnapshot)
     
        ' recopie des données à partir de la ligne 3
        I= 3
        Do While Not rec.EOF
     
                    xlSheet.Cells(..., I) = rec.Fields(J)
     
            I = I + 1
            rec.MoveNext
        Loop
     
        ' code de fermeture et libération des objets
        xlBook.Save
        xlApp.Quit
        rec.Close
        Set rec = Nothing
        Set xlSheet = Nothing
        Set xlBook = Nothing
        Set xlApp = Nothing

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    Salut,

    tu as tout ce qu'il te faut (le 2ème post suffit )
    Donne moi ta requête et je te le modifie pour que tu puisses l'utiliser.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 71
    Points : 41
    Points
    41
    Par défaut
    Ma requete ???

    elle s appelle "Daily ALL"

    J ai une feuille Excel deja prete...avec environ 20 lignes a remplir...(oui mon remplissage doit se faire en lignes et pas en colonnes sinon on ne comprend rien)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    Tu peux me donner le détail de ta requête, que je puisse faire en fonction du nombre de champs

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 71
    Points : 41
    Points
    41
    Par défaut
    je comprends pas...

    tu veux les noms des champs ??
    il y en a 15...
    disons champ1, champ2, champ3, etc...non ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    ok, donc:

    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
     
    Dim rec As Recordset
     
        Set rec = CurrentDb.OpenRecordset("Daily ALL", dbOpenSnapshot)
     
        ' recopie des données à partir de la ligne 1
        I= 1
        Do While Not rec.EOF
     
                    xlSheet.Cells(1, I) = rec.Fields("champs1").value
                    xlSheet.Cells(2, I) = rec.Fields("champs2").value
    [...]
                    xlSheet.Cells(15, I) = rec.Fields("champs15").value
     
            I = I + 1
            rec.MoveNext
        Loop
     
        ' code de fermeture et libération des objets
        xlBook.Save
        xlApp.Quit
        rec.Close
        Set rec = Nothing
        Set xlSheet = Nothing
        Set xlBook = Nothing
        Set xlApp = Nothing

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 71
    Points : 41
    Points
    41
    Par défaut
    merci ca marche

    par contre une petite question .... ca veut dire quoi quand excel te dit que tu ne peux ouvrir ton fichier qu en mode "read only"...??

    En fait a chaque fois que j exporte, il m ouvre de nouveau mon fichier Excel, et il me dit qu il ne peut pas le sauver car il est en mode "read only"...

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    C'est qu'il est en "lecture seule", donc tu devras l'enregistrer sous un autre nom...
    rien de plus

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 71
    Points : 41
    Points
    41
    Par défaut
    oui ca merci j avais compris read only=lecture seule...

    ce que je voulais dire c comment peut on changer ca ???

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    justement, tu ne peux pas!!

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 71
    Points : 41
    Points
    41
    Par défaut
    ok merci bcp
    le fichier Excel etait en fait utilise par plusieurs personnes en meme tps donc ca bloquait...


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

Discussions similaires

  1. [AC-2003] erreur 3190 en exportant une requete vers excel via DoCmd
    Par dg6969 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 17/06/2014, 12h51
  2. [AC-2007] Exporter des données d'une requete vers Excel
    Par theBinette dans le forum VBA Access
    Réponses: 3
    Dernier message: 20/10/2010, 17h00
  3. export d'une requete vers excel en VB_chemin
    Par dvpoutilbnp dans le forum VBA Access
    Réponses: 2
    Dernier message: 23/09/2009, 12h18
  4. exporter une requete vers excel
    Par tzinzin dans le forum VBA Access
    Réponses: 3
    Dernier message: 02/11/2007, 16h08
  5. Réponses: 4
    Dernier message: 13/09/2006, 16h53

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