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 :

Export dans un classeur excel se créant lors de l'export [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Export dans un classeur excel se créant lors de l'export
    Bonjour,

    Je sais qu'il y a de nombreuses discussions sur ce sujet mais je n'ai pas trouvé celle qui répond à ma demande :
    - je voudrais exporter une table access dans un classeur excel, jusque là rien de compliqué... mais j'aimerais aussi que ce classeur se crée uniquement lors de l'export, à l'emplacement que je lui aurais indiqué.
    En gros, j'aimerais que s'ouvre une boîte de dialogue dans laquelle je taperais le nom de mon classeur excel et qu'ensuite ma table access s'exporte dans un onglet de ce classeur.

    J'ai quelques éléments pour première piste, mais qui n'aboutissent pas car ce sont plusieurs parties de codes trouvés sur internet que j'ai essayé de compiler :

    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
    Function export()
     
    Dim xlApp As New Excel.Application
    Dim xlBook As Workbook
    Dim classeur As String
    Dim oFile As FileDialog, txtCheminFichier As String
     
    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = xlApp.WorkBooks.Add
    Set oFile = Application.FileDialog(msoFileDialogOpen)
        oFile.AllowMultiSelect = False
        If oFile.Show = -1 Then ' bouton ouvrir
            txtCheminFichier = oFile.SelectedItems(1)
    classeur = txtCheminFichier
    xlBook.SaveAs classeur 
    xlBook.Close
    xlApp.Quit
     
    Set xlBook = Nothing 
    Set xlApp = Nothing 
     
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "nomtable", txtCheminFichier, True
    End If
    End Function
    Si quelqu'un pouvait m'indiquer quel est le bon code, ce serait top !
    Merci d'avance à tous et bonne journée !

    Clémentine.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Bonjour,


    Pourquoi ne pas utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OutputTo acOutputTable, "tblDocument", acFormatXLS, , True, False
    Si tu omets le paramètre 'acFormatXLS', il te demandera le format d'export, mais ainsi c'est forcément XLS.
    Le paramètre vide est le chemin d'export qui, s'il n'est pas spécifié, te sera demandé au moment de l'export.

    Et cela t'évite bien des lignes de code

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    Bonjour,
    je viens de voir ta réponse que je n'ai pas encore testée mais j'ai trouvé ça qui marche :

    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
    Function Export()
     
    Dim oSaveAs As FileDialog
    Dim strRawFileInfo As String
    Dim strExportPath As String
    Dim strExportFile As String
     
    'crée une boîte de dialogue pour enregsitrer le fichier
    Set oSaveAs = Application.FileDialog(msoFileDialogSaveAs)
     
    'Use a With...End With block to reference the FileDialog object.
    With oSaveAs
    .Title = "Save Export File"
     
    'The user pressed the action button.
    If .Show = -1 Then
    strRawFileInfo = .SelectedItems(1)
     
    'The user pressed Cancel.
    Else
    strRawFileInfo = ""
    MsgBox "Action Canceled"
    End If
    End With
     
    'Extract Seperate Path and File Names from SaveAs Dialog Box
    If strRawFileInfo <> "" Then
     
    strExportFile = Right(strRawFileInfo, _
    Len(strRawFileInfo) - InStrRev(strRawFileInfo, "\"))
    strExportPath = Left(strRawFileInfo, _
    Len(strRawFileInfo) - Len(strExportFile))
    End If
     
    'Check file name for correct extension and if not present add .xls
    If Right(strExportFile, 4) <> ".xls" Then
     
    'Check for wrong extension and strip it
    If Mid((Right(strExportFile, 4)), 1, 1) = "." Then
     
    Else
    End If
     
    'Add Correct Extension
    strExportFile = strExportFile & ".xls"
     
    Else
    End If
     
    'Export tab delimited xls file to folder with file name that use
     
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "IPC_fin", strExportPath & strExportFile, True
     
    'Clear strings used
    strRawFileInfo = ""
    strExportPath = ""
    strExportFile = ""
     
    End Function
    Je vais quand même essayer avec la tienne, c'est vrai que c'est plus court.
    Merci !
    Clémentine

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

Discussions similaires

  1. [Vxi3] Cellule décalées lors d'une exportation dans Excel
    Par manuske dans le forum Webi
    Réponses: 2
    Dernier message: 12/02/2015, 15h13
  2. Exporter un tableau VBA dans le classeur Excel
    Par dexterchief dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2011, 18h23
  3. Réponses: 1
    Dernier message: 04/06/2006, 16h08
  4. VB6 : création de feuilles dans un classeur Excel
    Par getea85 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 04/11/2005, 16h37
  5. Changer de feuille dans un classeur Excel
    Par couiss dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 09/05/2005, 10h05

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