Bonjour,
Suite à mes deux précédents posts, je continue mon apprentissage/exploration… mais je bute sur ce point.
Je n’arrive pas à ajouter un filtre au tableau dynamique croisé que je créé par une macro.
Je crois que je n’arrive pas à comprendre comment on se sert des fonctions, propriétés, méthodes ou valeurs d’un objet en basic… Dans le document proposé dans mon premier post (www.pitonyak.org/oo.php) , je vois bien qu’il y a tout en page 510 et 511 (affichée 506), mais il n’y a pas d’exemple et je n’arrive toujours qu’à des erreurs de type “propriété ou méthode non trouvée”.
Je n’en trouve pas non plus sur le net qui arrivent à me faire comprendre comment cela fonctionne…
Voici une partie de mon code :
rem On récupère les données du tableau
tabCD = feuille.getDataPilotTables()
rem on crée un descripteur avec les infos du tableau source
TDescriptor = tabCD.createDataPilotDescriptor()
TDescriptor.setSourceRange(adresseTableau)
tousLesChamps = TDescriptor.getDataPilotFields()
rem On trie par "Classe scolaire" (3ème colonne) et par "Nom-Prénom" (2ème colonne) dans le champs "lignes"
champs = TousLesChamps.getByIndex(3)
champs.Orientation = com.sun.star.sheet.DataPilotFieldOrientation.ROW
champs = TousLesChamps.getByIndex(2)
champs.Orientation = com.sun.star.sheet.DataPilotFieldOrientation.ROW
rem Ajoute le filtre sur la première date du mois (colonne 4) (C'est là que ça commence à ne plus fonctionner...)
filtreTD = com.sun.star.sheet.field(4)
Champs = TousLesChamps.getByIndex(4)
Champs.FilterOperator = com.sun.star.sheet.FilterOperator.EQUAL
Champs.NumericValue = 1
rem On crée le tableau dynamique dans la feuille "Appel du jour"
tabCD.insertNewByName("EtudeDuMois", CellAddress, TDescriptor)
Je veux donc juste un filtre sur la colonne 4 où les champs sont égaux à 1.
Quelqu’un peut-il m’aider ?