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 Excel sur feuille particulière


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Points : 97
    Points
    97
    Par défaut Export Excel sur feuille particulière
    Bonjour,

    Je souhaite exporter une requete dans un fichier Excel mais dans une feuille bien particulière

    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    DoCmd.OutputTo acQuery, "R_Select_WO", "MicrosoftExcel(*.xls)", "C:\Mes Documents\ExportWO_1A.xls"
    Ma feuille s'appelle test ou dois-je la rajouter dans le code ci-dessus.

    Sinon j'ai essayé cet autre code mais ca na marche toujours pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    Dim Repertoire As String, Fichier As String
     
        Repertoire = "C:\Mes Documents\TEST\Export_Excel_feuill\"
        Fichier = "ExportWO_1A.xls"
        Chemin = Repertoire & Fichier
     
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "R_Select_WO", Chemin, True, "test"
    Avez-vous une idée.

    Merci

  2. #2
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Citation Envoyé par Sam 069 Voir le message
    [code]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "R_Select_WO", Chemin, True, "test"
    Alors peut-être déjà quelques éclaircissements sur la fonction "TransferSpreadsheet" (extrait de F1...):
    expression.TransferSpreadsheet(TypeTransfert, TypeFeuille, NomTable, NomFichier, ContientNomsChamps, Étendue, UtiliserOA)

    TypeTransfert AcDataTransferType facultatif.
    AcDataTransferType peut être l'une de ces constantes AcDataTransferType. acExport acImport constante par défaut acLink Si vous laissez cet argument vierge, la valeur par défaut (acImport) est choisie.


    TypeFeuille AcSpreadSheetType facultatif.
    AcSpreadSheetType peut être l'une de ces constantes AcSpreadSheetType.
    acSpreadsheetTypeExcel3

    acSpreadsheetTypeExcel4
    acSpreadsheetTypeExcel5
    acSpreadsheetTypeExcel7
    acSpreadsheetTypeExcel8 valeur par défaut (97 n'existe pas) acSpreadsheetTypeExcel9 valeur par défaut
    ...

    Si vous laissez cet argument vierge, la valeur par défaut (acSpreadsheetTypeExcel8) est choisie.


    NomTable Variant facultatif. ... Il peut s'agir également de la requête Sélection Microsoft Access dont vous voulez exporter les résultats dans une feuille de calcul.

    NomFichier Variant facultatif. Expression chaîne qui représente le nom et le chemin du fichier de feuille de calcul dont vous voulez importer les données, dans lequel vous voulez exporter des données ou auquel vous voulez attacher des données.

    ContientNomsChamps Variant facultatif. Utilisez True (-1) pour utiliser les noms de champs de la première ligne de la feuille de calcul lors d'une importation, exportation ou attache. Utilisez False (0) pour que Microsoft Access considère la première ligne de la feuille de calcul comme étant des données normales. Si vous laissez cet argument vierge, la valeur par défaut (False) est choisie. Lorsque vous exportez les données d'une table ou d'une requête Sélection Microsoft Access vers une feuille de calcul, les noms de champs sont insérés dans la première ligne de la feuille de calcul, quelle que soit la valeur de cet argument.

    Étendue Variant facultatif. Expression chaîne qui correspond à une plage valide de cellules ou au nom d'une plage de la feuille de calcul. Cet argument n'est valable que pour une importation. Laissez cet argument vierge pour importer la feuille de calcul entière. Lorsque vous effectuez une exportation vers une feuille de calcul, vous devez laisser cet argument vierge. Si vous tapez une plage, l'exportation échoue.
    UtiliserOA Variant facultatif.
    Voilà, avec ces infos, tu devrais déjà pouvoir rectifier ton code.
    Concernant ta toute première question, il me semble (je ne suis pas sûr, tu dois essayer) que le nom de la table ou requête exportée donnera son nom à l'onglet du fichier Excel dans lequel tu fais ton export, donc....
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Points : 97
    Points
    97
    Par défaut
    Ok merci.

    Pourtant, je suis certain qu'il est possible d'exporter la requete sur une feuille bien particulière.
    Je l'avais déjà fait mais impossible de me rappeller de l'astuce.

    Merci pour ton aide.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Points : 97
    Points
    97
    Par défaut
    Voilà j'ai trouvé une solution.
    Le traitement est un peu long mais ça fonctionne.
    Il faut que j'essaye de rajouter les intitulés de champs de la requete dasn le fichier Excel.

    Merci de votre aide

    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
     
    Function Exportfeuille2()
    Dim Chemin As String
     
    Chemin = "B:\Test_Export"
     
    Set xlA = CreateObject("excel.application")    'lance Excel
     
    'Application Excel visible ou pas
    xlA.Visible = True
    xlA.Workbooks.Open (Chemin)       'ouvre le fichier
    Set xlW = xlA.ActiveWorkbook
     
    Call Exportation("R1", Chemin, "Feuil2")
    End Function

    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
     
     
    Sub Exportation(requete As String, fichier As String, onglet As String)
     
     Dim t As DAO.Recordset
     Dim qdf As DAO.QueryDef
     Dim db As DAO.Database
     Dim I As Integer
     Dim s As String, NumChamp As Long, ligne As Long
     
     'Commence à la seconde ligne car compteur à 0
     'pour laisser la place pour les intitulés
     
     ligne = 1
     Set db = CurrentDb
     Set qdf = db.QueryDefs(requete)
     For I = 0 To qdf.Parameters.Count - 1
         On Error Resume Next
        qdf.Parameters(I).Value = Eval(qdf.Parameters(I).Name)
        If Err.Number = 2482 Then ' Paramètre non évaluable
            ' Demande la saisie du paramètre dans une inputbox
            qdf.Parameters(I).Value = InputBox(qdf.Parameters(I).Name)
        End If
        On Error GoTo 0
     Next
      Set t = qdf.OpenRecordset    'ouvre la requete
     Do Until t.EOF
       ligne = ligne + 1            'ligne suivante dans la feuille Excel
       For NumChamp = 0 To 6        'pour chaque colonne de la requete
           s = t(NumChamp)       'recupération des données au format Texte
        xlW.Sheets(onglet).Cells(ligne, NumChamp + 1) = s 'ecriture dans la cellule
       Next NumChamp
       t.MoveNext                    'enregistrement suivant
      Loop
      t.Close
     Set t = Nothing
     Set qdf = Nothing
     Set db = Nothing
     
    End Sub

  5. #5
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Je n'ai pas testé mais je trouve intéressant et devrai peut-être l'appliquer sous peu !

    Ce serait sympa de me signaler si tu rencontres des problèmes avec ce code, je reste à disposition...

    Bon week-end
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Points : 97
    Points
    97
    Par défaut
    Pas de problème ; je l'ai testé.
    A noter que ce code n'est qu'une adapatation du tutos ur l'automation fait par Tofalu.

    Je reste dispo pour toutes questions.

    Cordialement

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

Discussions similaires

  1. export Excel sur un seul onglet
    Par carlito7 dans le forum SpagoBI
    Réponses: 1
    Dernier message: 22/03/2010, 09h16
  2. Export Excel sur serveur
    Par liliprog dans le forum ASP.NET
    Réponses: 5
    Dernier message: 20/01/2010, 21h48
  3. Problème export excel sur une requete avec critère
    Par eddyG dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 20/09/2006, 11h46
  4. Access export vers Excel sur plusieurs feuilles
    Par oceanediana dans le forum Access
    Réponses: 6
    Dernier message: 10/07/2006, 12h15
  5. [CR] export Excel (plusieurs feuilles)
    Par kaiserben dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 21/11/2005, 15h03

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