Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > SDK
SDK Forum d'entraide pour la programmation des outils BO par des API (VBA, ASP, Java)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/06/2011, 16h08   #1
Futur Membre du Club
 
Homme
Inscription : juillet 2002
Messages : 67
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2002
Messages : 67
Points : 19
Points : 19
Envoyer un message via AIM à gillou13
Par défaut [XI R3] Fonction VBA avec PB de rafraisissement

Bonjour à tous,

j'ai créer une petite fonction pour créer automatiquement des fichiers (PDF et XLS) via un rapport 'modèle' et une liste de paramètres en CSV.

La voici :
Code :
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
 
FUNCTION TraitementCSV(doc AS Document, Chem AS String, RapNom AS String, RapFiltre AS String, RapInvite AS String, RapExport AS String)
 
    'Déclaration des variables
    Dim rap As Report
    Dim TabApp() As String
    Dim i As Integer, Fp As Integer
 
    Dim AppNom As String, AppDest As String, AppRenew As String
 
    'ini des variable des traitments du rapport
    'Set doc = ThisDocument
    Set rap = doc.Reports(1)
 
    ReDim TabApp(2, 0)
    TabApp(0, 0) = ""
    TabApp(1, 0) = ""
    TabApp(2, 0) = ""
 
    'ouverture du fichier CSV en lecture
    Fp = FreeFile()
    Open Chem + RapNom + ".csv" FOR Input AS Fp
 
    While NOT EOF(Fp)
        'Récup info de la ligne :
        Input #Fp, AppNom ' Nom de l'apporteur
        Input #Fp, AppDest ' Destination du rapport
        Input #Fp, AppRenew ' A renouveler?
 
        'MAJ du rapport selon l'apporteur et le type de selection :
        IF RapInvite <> "" Then
            doc.VARIABLES.Item(RapInvite).Value = AppNom
        End IF
        IF RapFiltre <> "" Then
            rap.AddComplexFilter doc.DocumentVariables(RapFiltre), AppNom
        End IF
 
        rap.ForceCompute
 
        'Vérification/Création du répertoire de destination :
        If Dir(AppDest, vbDirectory) = "" Then
            MkDir (AppDest)
        End If
        'exportation Selon le type choisie :
        IF RapExport = "PDF" Then
            rap.ExportAsPDF (AppDest + RapNom + " " + REPLACE(AppNom, "/", "-") + ".PDF")
        ElseIf RapExport = "XLS" Then
            rap.ExportAsExcel (AppDest + RapNom + " " + REPLACE(AppNom, "/", "-") + ".XLS")
        Else
            'A voire
        End If
 
        'enregistrement de le ligne si à renouveller
        IF AppRenew = "Oui" Then
            IF TabApp(0, 0) = "" Then '1er enregistrement dans le tableau
                TabApp(0, 0) = AppNom
                TabApp(1, 0) = AppDest
                TabApp(2, 0) = AppRenew
            Else 'si x enregistrement redimensionnement du tableau
                ReDim Preserve TabApp(2, UBound(TabApp, 2) + 1)
                TabApp(0, UBound(TabApp, 2)) = AppNom
                TabApp(1, UBound(TabApp, 2)) = AppDest
                TabApp(2, UBound(TabApp, 2)) = AppRenew
            End IF
        End IF
    Wend
    Close Fp
 
    'Enregistrement du fichier CSV avec les nouvelles valeurs
    Open Chem + RapNom + ".csv" For Output As Fp
    For i = 0 To UBound(TabApp, 2)
        Write #Fp, TabApp(0, i), TabApp(1, i), TabApp(2, i)
    Next
    Close Fp
 
End Function
Tous fonctionne sauf la mise à jours des informations. et aucun msg d'erreur n'apparait. (j'utilise la fonction dans Document_Refreche)
Du coup je me retrouve avec X fois le même document sous des noms différents.

j'ai beau utiliser la commande document.ForceCompute rien y fait....

Quelqu'un aurai une idée svp?

Merci d'avance
gillou13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 14h15   #2
Responsable Business Intelligence
 
Avatar de TomDuBouchon
 
Homme Thomas Cochin
Consultant en Business Intelligence
Inscription : juin 2009
Messages : 3 271
Détails du profil
Informations personnelles :
Nom : Homme Thomas Cochin
Âge : 29
Localisation : France, Seine et Marne (Île de France)

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

Informations forums :
Inscription : juin 2009
Messages : 3 271
Points : 5 668
Points : 5 668
Bonjour,

Essaies d'effectuer des tests afin de t'assurer que "rap" correspond bien à ton onglet.

Ensuite, si ça ne change rien, essaies de remplacer Variables par DocumentVariables
__________________
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
Vous souhaitez contribuer à la rubrique BI ? Contactez-moi ou un autre responsable de l'équipe BI par MP.
TomDuBouchon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h59.


 
 
 
 
Partenaires

Hébergement Web