|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 103 ![]() |
Bonjour,
J'ai un rapport d'environ 200 onglets, il y a un filtre sur le libellé société sur chacun de ces onglets. Les libellés sociétés ont été modifiés, donc plus aucun filtre ne fonctionne. Avez vous une solution pour faire un filtre suivant le nom de l'onglet en automatique pour ne pas avoir à refaire tous les onglets 1 par 1 ? Les onglets se nomment par exemple 012 LYON AAA 012 code magasin LYON libellé magasin AAA code société Rapport sur Desktop 11.5.0.0 Merci, |
|
|
00
|
|
|
#2 | ||
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 183 ![]() |
Salut
Le plus simple est de récupérer en VBA le nom de chaque onglet Code :
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
||
|
|
00
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 103 ![]() |
J'ai testé le filtre mais je ne sais pas comment lui dire de prendre la valeur de ongletname comme point de comparaison
Code :
|
||
|
|
00
|
|
|
#4 | |
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 183 ![]() |
Citation:
Code :
Application.ActiveDocument.Reports.Item(i).AddComplexFilter(Variable,Formula AS String)
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
|
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 103 ![]() |
Mais ongletname est un string,
Est-ce possible ou/non de prendre dans la formule du filtre le nom de l'onglet : Filtre souhaité : =<Code Societe> = valeur de l'onglet Si oui quel est la syntaxe J'ai essayé : Résultat filtre avec comme valeur ongletname Code :
"=<Code Societe> = "" & ongletname & "" " Code :
"=<Code Societe> = " & ongletname & " " Je n'ai pas vraiment d'autres idées, si vous pouvez m'aider ? Merci, |
|
|
00
|
|
|
#6 |
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 183 ![]() |
Ouh la! Tu n'as pas du tout compris...
Les indices que je t'ai filés ont pour objectif de rétablir tes filtres en VBA au travers de VisualBasic Editor Alt+F11 Tu peux créer une procédure qui Compte le nb de Reports (onglets) de ton activeDocument Fait une boucle pour récupérer le nom de chaque onglet Récupérer dans ce nom le dernier terme (code société) Le stock dans une variable L'applique au rapport à l'aide de la méthode Report.AddComplexFilter Mais si tu 'as jamais fait de VBA dans BO je dois te parler Hébreux
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
|
|
00
|
|
|
#7 | |||
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 103 ![]() |
J'arrive avec ce code à récupérer le code societe la fin du nom de mes onglets sans problème.
Code :
Citation:
Je n'arrive pas à faire la syntaxe du AddComplexFilter. |
|||
|
|
00
|
|
|
#8 | |||
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 183 ![]() |
Citation:
Code :
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
|||
|
|
00
|
|
|
#9 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 103 ![]() |
Avec :
Code :
Erreur d'execution '20' : Bad Formula : Type de données incorrects (DMB0003. |
||
|
|
00
|
|
|
#10 | ||
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 183 ![]() |
Je pense qu'il manque un espace entre = et <
Code :
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
||
|
|
00
|
|
|
#11 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 103 ![]() |
J'ai testé en arrivant mais c'est toujours la même erreur.
Vu qu'il n'y a que 5 codes sociétés différents j'ai fait un select case pour résoudre l'appel. Mon code devient : Code :
|
||
|
|
00
|
|
|
#12 |
![]() ![]() Bruno ROMAN-RUIZ Inscription : décembre 2006 Messages : 2 183 ![]() |
Ah bon ?
Mais je ne me souviens pas que tu ais mentionné que la valeur à poser en filtre était "01" ,"25","27","36" .... Le select case dans ton cas est tout indiqué. Si tu devais avoir plus d sociétés il te sufirait d'ajouter une requête du type En utilants la même méthode qu'avec Report (count puis boucle) sur les Providers tu pourrait récupérer le code correpondant au nom.
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!" |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com