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 :

[BO XI][VBA]Compter le nombre de page dans section (Difficile)


Sujet :

SDK

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 20
    Points
    20
    Par défaut [BO XI][VBA]Compter le nombre de page dans section (Difficile)
    Bonjour,

    Le problème est simple: Y a t il possibilité en BO xi d'afficher pour chaque section (ex section sur le client) les pages sous le format (X/Y) avec X qui est la page courante dans la section et Y le nombre de page totale de la section

    ex: section 1 -> page 1/3
    section 2 -> page 2/5

    dans ce cas mon document possède 8 pages au total.

    Pour le moment j'ai utilisé la fonction PageDansSection(NumeroSection()) mais cela m'affiche que la page courante de la section et en plus de cela cette fonction bug car elle affiche 0 dès que l'on passe à la section 2.

    Sur un forum j'ai trouvé une macro VBA (pas spécialiste du tout donc pour le moment elle ne marche pas) -> j'aiemrais savoir s'il y aune autre solution ou si quelqu'un a déjà résolu ce problème

    merci beaucoup

  2. #2
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 20
    Points
    20
    Par défaut
    Voici le code de la macro

    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
    Public Sub Paginate(Pages As DpVBAInterface)
     
    Dim DocObj As busobj.Document 'Document Object
    Dim RepObj As busobj.Report 'Report Object
    Dim SecArray 'Array that will hold section values
    Dim IntSecArrayLen As Integer 'Length of the section array
    Dim SectionType As String 'Data Type of Section
    Dim i As Integer
    'Dim PagesArray(1, 2)
     
    Set DocObj = ActiveDocument ' Get the Active Document
    Set RepObj = ActiveReport ' Get the Selected Report
    Set SectionPage = DocumentVariables
     
     
    ' Retrieve name of the top level section (We can also know if there exist any sub-sections)
    SectionName = RepObj.GeneralSectionStructure.SubSectionStructure.Master.Name
     
     
    ' Retrieve values of the Section
    SecArray = DocObj.DocumentVariables(SectionName).Values(boUniqueValues)
    SectionType = TypeName(SecArray(1)) ' Identify Data type of the section
    IntSecArrayLen = UBound(SecArray)
     
     
    Pages.UserString(1) = "PageCount"
    'Pages.DpVBACubes.SetNbCubes (1)
     
    'Our new cube is the first one
    Dim PageCount As DpVBACube
    Set PageCount = Pages.DpVBACubes.Item(1)
    PageCount.DpVBAColumns.SetNbColumns (2)
    PageCount.DpVBAColumns.Item(1).Name = "Contract Number"
    PageCount.DpVBAColumns.Item(2).Name = "Total Pages in Section"
     
    PageCount.DpVBAColumns.NbLines = IntSecArrayLen 'Number of Lines = number of contract Sections
     
    Dim ContractNumber As DpVBAColumn
    Dim PagesInSection As DpVBAColumn
     
     
    Set ContractNumber = PageCount.DpVBAColumns.Item(1)
    ContractNumber.Qualification = boDimension
    ContractNumber.Type = boCharacterObject
     
    For i = 1 To IntSecArrayLen
    ContractNumber.Item(i) = SecArray(i)
    Next i
     
    Set PagesInSection = PageCount.DpVBAColumns.Item(2)
    PagesInSection.Qualification = boDimension
    PagesInSection.Type = boCharacterObject
     
    With RepObj
    For i = 1 To IntSecArrayLen
    'Filters the report by contract number
    .AddComplexFilter SectionName, "=<" & SectionName & "> = """ & SecArray(i) & """"
    .ForceCompute
    'Assigns the page number to the array
    PagesInSection.Item(i) = .NumberOfPages
    'Releases the filter
    .AddComplexFilter SectionName, "=(0=0)"
    .ForceCompute
     
    Next i
     
     
    End With
     
    End Sub

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 20
    Points
    20
    Par défaut
    Ne pas hésiter à me poser des questions si ma demande n'est pas clair

    Merci

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    Y-t-il des personnes qui ont la même demande qui est à mon avis assez courante et le même problème

    merci pour votre aide

  5. #5
    Membre éprouvé
    Avatar de Ayana
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 901
    Points : 1 180
    Points
    1 180
    Par défaut
    V5, V6, XI ?
    DeskI, WebI ?

Discussions similaires

  1. [AutoIt] Compter le nombres de pages dans un fichier ps
    Par markham dans le forum Autres langages
    Réponses: 0
    Dernier message: 30/11/2012, 10h33
  2. [VBA] - compter le nombre de boutons dans un UF
    Par n0vocaine dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/12/2011, 13h28
  3. Compter le nombre de page par regroupement
    Par bondyfalat dans le forum Access
    Réponses: 2
    Dernier message: 01/03/2006, 17h08
  4. compter le nombre de page
    Par NoobX dans le forum Langage
    Réponses: 12
    Dernier message: 06/12/2005, 21h48
  5. Compter le nombre de page d'un report
    Par ToYonos dans le forum C++Builder
    Réponses: 4
    Dernier message: 17/06/2003, 09h36

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