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 :

Export Access dans excel MAIS dans onglet et fichier specifié


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 73
    Points : 41
    Points
    41
    Par défaut Export Access dans excel MAIS dans onglet et fichier specifié
    Bonjour,


    J'ai fait un export à partir d'un bouton pour exporter ma requete.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Commande0_Click()
     
    DoCmd.TransferSpreadsheet acExport, _
                        acSpreadsheetTypeExcel9, _
                        "SYNTHESE_PORT_NAT_HORS_INTRA", _
                        "Clients.xls", _
                        True
     
    End Sub

    Mon seul problème est que mon export ce fait dans un nouveau fichier.

    Alors que moi, je voudrais qu'il se fasse dans mon fichier "Clients" et dans son onglet "Données" .


    Comment je peux faire???

  2. #2
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 799
    Points
    799
    Par défaut
    Salut,

    As tu consulté la FAQ ?

  3. #3
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    Pour ecrire dans une feuille Excel, appeler la routine suivante en passant en paramètres le nom de la requete, le nom du fichier et l'onglet concerné


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Call Exportation("SYNTHESE_PORT_NAT_HORS_INTRA","c:\Clients.xls","Données")
    Le 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
    23
    24
    Sub Exportation(requete As String, fichier As String, onglet As String)
    
     Dim xlA As Object, xlW As Object, t As DAO.Recordset
     Dim s As String, NumChamp As Long, ligne As Long
     
     Set xlA = CreateObject("excel.application")    'lance Excel
     xlA.Visible = True
     xlA.workbooks.Open (fichier)       'ouvre le fichier
     Set xlW = xlA.activeworkbook
     ligne = 1
     
     Set t = CurrentDb.OpenRecordset(requete)    'ouvre la requete Do Until t.EOF
       ligne = ligne + 1            'ligne suivante dans la feuille Excel
       For NumChamp = 0 To 4        'pour chaque colonne de la requete
        s = t(NumChamp)             'recupération des données au format Texte    xlW.Sheets(onglet).cells(ligne, NumChamp + 2) = "'" & s 'ecriture dans la cellule
       Next NumChamp
      t.MoveNext                    'enregistrement suivant Loop
     t.Close
     xlW.Save
     xlA.Quit
     Set xlA = Nothing    ' puis libère la référence.
    
    End Sub
    Adapter la ligne de départ, le nombre de champs, ...

  4. #4
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut Rectification
    Le Do Until t.Eof et le Loop sont à la ligne suivante

    Excuses

  5. #5
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 73
    Points : 41
    Points
    41
    Par défaut
    ok et merci pour ta réponse.


    Par contre, j'integre ta commande sur un bouton.


    Puis le code, je le met où? Directement dans le VBA du formulaire???


    Merci d'avance

  6. #6
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut Emplacement du code
    Le code peut être mis dans le formulaire ou un module

    xlW.Sheets(onglet).cells(ligne, NumChamp + 2) = "'" & s est sur une autre ligne. Ah, ces retours à la ligne...

  7. #7
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 73
    Points : 41
    Points
    41
    Par défaut
    Super merci.


    J'ai essayé le code fonctionne très bien. Seulement j'ai un petit soucis.

    En fait, ma requete renvoie des champs vides parfois, et ça bloque ici



    As-tu une idee pour contourner ce problème???


    De plus, ma requete contient des comme formulaire et lorsqeu je lance le code, il me dit qu'il y a trop peu d'arguments???


    Merci d'avance

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    pour eviter les champs vides, utilise la fonction isnull. Tu verifie avant d'insérer ton champ s'il contient bien des données.

    par contre, je n'ai pas tres bien compris ta derniere question, il manque peut etre des mots.

Discussions similaires

  1. [XL-2010] export access vers Excel dans des cellules distinctes
    Par ambact dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/08/2012, 16h37
  2. Export access vers excel mais pb quote
    Par ancylia dans le forum VBA Access
    Réponses: 2
    Dernier message: 24/06/2008, 09h50
  3. Réponses: 4
    Dernier message: 30/11/2007, 10h23
  4. [Excel] - QueryTable dans Excel Piloté par Access
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 23/02/2007, 13h28
  5. exporter une base de donnée dans excel
    Par ptitange dans le forum Access
    Réponses: 25
    Dernier message: 31/03/2006, 12h27

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