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

Launchpad (ex-Infoview) Discussion :

Exporter des rapports vers excel automatiquement


Sujet :

Launchpad (ex-Infoview)

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 59
    Par défaut Exporter des rapports vers excel automatiquement
    Bonjour

    J'ai besoin apres rafraichissement de mon fichier .rep, d'exporter tout les reports vers Excel en automatique.

    j'ai trouvé sur le net 2 possibilités :

    la premiere exporte seulement le report actif.

    Sub export()

    ActiveReport.ExportAsExcel ("D:\Documents and Settings\Toto\Desktop\fichier.xls")

    End Sub

    la deuxieme permet d'exporter tous les reports mais j'ai un message d'ereur "70 - permission refusée"

    ' ---------------------------------------------------------------
    ' principe : exportation des différents rapports au format texte,
    ' puis importation dans des feuilles excel.
    ' ---------------------------------------------------------------

    Sub export_Excel()

    On Error GoTo error_handler

    Dim Doc As Document
    Dim Rep As Report
    Dim i As Integer
    Dim ExcelDoc As String ' nom du fichier excel cible
    Dim Path As String ' lien pour le fichier excel cible

    ExcelDoc = ActiveDocument.Name & lparam ' nom du ficher excel
    Path = "D:\Documents and Settings\galloroc\Desktop" ' lien pour stocker le fichier excel


    ' enregistre les rapports au format text
    Set Doc = ActiveDocument
    For i = 1 To Doc.Reports.Count
    Set Rep = Doc.Reports.item(i)
    If Dir(Path & Rep.Name & ".txt") <> " " Then
    Kill Path & Rep.Name & ".txt"
    End If
    Rep.ExportAsText (Path & Rep.Name & ".txt")
    Next i

    Set vbExcel = CreateObject("Excel.Application")
    With vbExcel
    ' création d'un fichier excel, qui contiendra les ficher au format txt
    If Dir(Path & ExcelDoc & ".xls") <> " " Then
    Kill Path & ExcelDoc & ".xls"
    End If
    .Workbooks.Add
    .ActiveWorkbook.SaveAs Path & ExcelDoc & ".xls"
    ' ouvre les sources, enregistre au formazt excel, et immport dans la bonne destination
    For i = 1 To Doc.Reports.Count
    Set Rep = Doc.Reports.item(i)
    .Workbooks.Open Path & Rep.Name & ".txt"
    If Dir(Path & Rep.Name & ".xls") <> " " Then
    Kill Path & Rep.Name & ".xls"
    End If
    .ActiveWorkbook.SaveAs Path & Rep.Name & ".xls"
    ' copie des feuilles dans le fichier excel
    .Workbooks(Rep.Name & ".xls").Sheets(Rep.Name).Move _
    Before:=.Workbooks(ExcelDoc & ".xls").Sheets("feuil1")
    Next i
    ' ferme tout les workbooks
    .ActiveWorkbook.Save
    Workbooks.Close
    ' ferme l'application
    .Quit
    End With
    ' libère la mémoire
    Set vbExcel = Nothing

    Exit Sub

    error_handler:
    If Err.Number = 53 Then Resume Next
    MsgBox Err.Number & " - " & Err.Description
    Workbooks.Close
    vbExcel.Quit
    Set vbExcel = Nothing
    Set OlkApp = Nothing

    End Sub

    Pourriez-vous m'aider ? Par avance merci.

  2. #2
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Par défaut
    Bonjour,

    Effectivement c'est bien compliqué tout ça...
    A partir de la version 6, tu peux le faire de la façon suivante : (Code à coller dans "Project > BusinessObjects Objets > ThisDocument)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Document_AfterRefresh()
        ActiveDocument.SaveAs "C:\toto.xls", True
    End Sub
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 59
    Par défaut
    Merci Merci Merci pour cette réponse.
    Si je veux compliquer le truc : je dois utiliser cette moulinette sur tous les fichiers . rep mais pas les classer au meme endroit.

    en résumé, choisir l'emplacement et le nom du fichier

    Merci.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 59
    Par défaut
    Ops .. j'ai trouvé

    il suffit de mettre

    ActiveDocument.SaveAs , True

    et tu as la petite boite de dialogue qui s'affiche pour choisir emplacement et nom ...

    merciiiiiiiiiii

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

Discussions similaires

  1. exporter des données vers excel
    Par joe370 dans le forum VBA Access
    Réponses: 6
    Dernier message: 28/06/2007, 14h16
  2. [Tableaux] Exporter des données vers Excel
    Par SkyBack dans le forum Langage
    Réponses: 4
    Dernier message: 29/01/2007, 17h55
  3. exporter des données vers Excel
    Par vautour29 dans le forum Access
    Réponses: 10
    Dernier message: 12/12/2006, 18h15
  4. [En cours]Exporter des données vers Excel
    Par Muhad'hib dans le forum Contribuez
    Réponses: 2
    Dernier message: 12/01/2006, 15h25
  5. exporter des données vers EXCEL!
    Par JauB dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 25/11/2005, 16h13

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