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

SDK Discussion :

[XI R3] Fonction VBA avec PB de rafraisissement


Sujet :

SDK

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 84
    Points : 60
    Points
    60
    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 : 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
    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

  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 : 41
    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
    Points : 5 848
    Points
    5 848
    Par défaut
    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

Discussions similaires

  1. [XL-2007] Fonction VBA avec Vecteur en entré et sortie
    Par Yok_CC dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/06/2012, 14h05
  2. Fonction Solveur avec VBA?
    Par quynhhoa411 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 28/11/2007, 10h55
  3. [VBA]Utiliser les fonctions Excel avec Access
    Par PsykotropyK dans le forum VBA Access
    Réponses: 8
    Dernier message: 18/04/2007, 13h58
  4. Requete avec fonction VBA
    Par alaingui dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 16/01/2007, 14h07
  5. [VBA][Débutante] Fonction Excel avec Boucle
    Par Inelukia dans le forum Macros et VBA Excel
    Réponses: 32
    Dernier message: 11/01/2006, 19h31

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