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 :

Exportation vers nouveau classeur excel


Sujet :

IHM

  1. #1
    Membre régulier Avatar de Bragon12
    Inscrit en
    Avril 2008
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 142
    Points : 108
    Points
    108
    Par défaut Exportation vers nouveau classeur excel
    Bonjour,
    Je souhaite exporter mes données dans un classeur excel. Comme je ne veut pas définir de fichier précis, j'aimerai que les données soient envoyées dans un nouveau classeur.
    J'ai essayé d'utiliser la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferSpreadsheet()
    Mais je n'ai pas trouvé comment le faire pour un nouveau fichier.
    Peut-on le faire avec cette commande, ou faut-il aller vers quelque chose de plus compliqué?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Bonjour,

    Tu ne peux utiliser tranfertspreadsheet qu'avec un nom de fichier.
    Mais si le fichier n'existe pas, la commande le crée.

    Donc tu peux initialiser ce nom dans une variable que tu passe à la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "taTableOuRequete", "C:\tonEmplacement\" & format(now(), "yyyymmddhhnnss") & ".xls", true
    Ici j'ai mis comme nom de fichier un format de now() à la seconde, mais tu peux ajouter un identificateur pour rendre plus explicite le type de fichier (comme "extrac_CA" par exemple)

  3. #3
    Membre régulier Avatar de Bragon12
    Inscrit en
    Avril 2008
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    L'emplacement peut-il être relatif? parce que je ne sais pas encore ou seront stockés ces fichiers.
    Sinon, je vais essayer de mettre une boite de dialogue pour sélectionner le dossier de destination. J'avais trouvé le code pour sélectionner un fichier... ca ne dois pas être très différent!

  4. #4
    Membre régulier Avatar de Bragon12
    Inscrit en
    Avril 2008
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    Merci beaucoup, ca fonctionne!
    Voila 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
    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
     
    Dim Dossier As String
    Dim Fichier As String
     
    'Requires reference to Microsoft Office 12.0 Object Library.
     
       Dim fDialog As Office.FileDialog
       Dim varFile As Variant
     
       'Clear listbox contents.
       'Me.FileList.RowSource = ""
     
       'Set up the File Dialog.
       Set fDialog = Application.FileDialog(msoFileDialogFolderPicker)
       With fDialog
          'Allow user to make multiple selections in dialog box.
          .AllowMultiSelect = False
     
          'Set the title of the dialog box.
          .Title = "Sélectionnez le dossier de destination"
     
          'Show the dialog box. If the .Show method returns True, the
          'user picked at least one file. If the .Show method returns
          'False, the user clicked Cancel.
          If .Show = True Then
     
            For Each vrtSelectedItem In .SelectedItems
     
                    'vrtSelectedItem is aString that contains the path of each selected item.
                    'You can use any file I/O functions that you want to work with this path.
                    'This example displays the path in a message box.
                    Dossier = vrtSelectedItem
     
                Next
     
          Else
            'annulation
             Cancel = True
          End If
       End With
       'vérification de la sélection du dossier
        If Dossier <> "" Then
            'création de l'adresse du fichier
            Fichier = Dossier & "\export_contrats" & Format(Now(), "yyyy-mm-dd--hh-nn") & ".xls"
            'exportation de la requête dans le fichier
            DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Adh_etat_contratsigne_synthese", Fichier, True
            'message de succès
            MsgBox "Export réalisé avec succès" & Chr(13) & "emplacement du fichier :" & Chr(13) & Fichier, vbInformation
     
        'pas d'export si pas de dossier
        Else
            MsgBox "Export non effectué", vbCritical
        End If

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

Discussions similaires

  1. [XL-2007] Excel plante avec macro sauvegarde feuille vers nouveau classeur avec nom spécifique
    Par stephadm dans le forum Macros et VBA Excel
    Réponses: 32
    Dernier message: 10/05/2012, 14h59
  2. Export vers un classeur Excel avec des jolis onglets ?
    Par npopravka dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 19/05/2010, 11h50
  3. Réponses: 6
    Dernier message: 03/09/2009, 18h23
  4. Exporter MSFlexGrid1 dans un nouveau classeur excel
    Par avyrex dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 05/04/2009, 13h30
  5. copie d'1 feuille d'1 classeur vers nouveau classeur excel 2003
    Par samson_02 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/02/2009, 16h14

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