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 :

Transposer une table access sur un fichier excel avec VBA


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2008
    Messages : 94
    Points : 73
    Points
    73
    Par défaut Transposer une table access sur un fichier excel avec VBA
    Bonjour,

    J'essaye depuis ce matin à transposer un tableau (inversion des lignes des colonnes) d'une table access vers une feuille excel.

    On peut l'effectuer manuellement par un collage spécial puis cocher la case Transposer. Mais il faut que j'arrive à le faire automatiquement avec du code VBA.

    J'ai vu sur certains forums l'utilisation de Application.Transpose() mais ce la ne fonctionne pas sur du vba access. Est ce qu'il me manque un module ?.

    Merci par avance

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Bonjour

    Etape 1 : exporter vers un fichier excel via la commande docmd.outputto
    Etape 2 : Ouvrir Excel via un objet Excel.Application
    Etape 3 : Ouvrir le classeur correspondant
    Etape 4 : Transposer
    Etape 5 : Fermer le tout

    Ce qui pourrait ressembler à quelque chose comme :

    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
    Private Sub ExportExcel_Click()
    Dim MonSQL As String
    Dim oDb As DAO.Database
    Dim oQdf As DAO.Recordset
    Dim strTable As String
    'Table à exporter
    strTable = "MSysObjects"
    DoCmd.OutputTo acOutputTable, strTable, acFormatXLS, "c:\essai.xls"
    Dim oApp As Excel.Application
    Dim oWb As Excel.Workbook
    Dim oSh As Excel.Worksheet
    Set oApp = New Excel.Application
    oApp.DisplayAlerts = False
    Set oWb = oApp.Workbooks.Open("c:\essai.xls")
    Set oSh = oWb.Worksheets.Add
    Set oSh = oWb.Sheets(2)
    oSh.Range(oSh.Cells(1, 1), oSh.Cells(254, 254)).Copy
    oWb.Sheets(1).Cells(1, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
            True, Transpose:=True
    oWb.Sheets(2).Delete
    oWb.Save
    oWb.Close False
    oApp.Quit
    Set oSh = Nothing
    Set oWb = Nothing
    Set oApp = Nothing
    End Sub
    Attention toutefois dans excel, on est limité en nombre de colonne, ce qui signifie que le nombre de ligne à exporter est lui aussi limité

Discussions similaires

  1. Exporter une DB Access vers un fichier Excel
    Par miss_java dans le forum C#
    Réponses: 1
    Dernier message: 12/08/2008, 16h03
  2. Réponses: 26
    Dernier message: 17/07/2008, 14h17
  3. Export table Access vers plusieurs fichiers Excel
    Par entrepreneur dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 07/01/2008, 09h18
  4. Enregistrer une table Access dans un fichier "XML"
    Par kmaniche dans le forum C++Builder
    Réponses: 21
    Dernier message: 31/05/2007, 22h19
  5. Pb pour lier une table Access à un doc Excel
    Par Rcanada dans le forum Access
    Réponses: 5
    Dernier message: 24/04/2006, 14h48

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