J'essaie de lancer automatiquement un filtre standard avec le nombre 1 en condition.
Pour cela j'ai éplucher un certains nombre de sujets qui m'ont permis de construire un code.
Mais quand j'exécute le code, il me filtre toute mes valeurs. Je dois avoir mal géré mes critères
Je sens que j'y suis presque
J'espérais qu'un de vous comprendrait l'erreur.
ma feuille s'articule de la sorte :
[vide]
Résultats
[vide]
Résultats................
[vide]
boisson matériel quantité catégorie trier résultats
vin rouge materiel1 1 catégorie1 1
vin rouge materiel2 0 catégorie2 non_concerné
vin rouge materiel1 1 catégorie1 2
vin rouge materiel4 2 catégorie4 1
vin rouge materiel5 3 catégorie5 1
vin rouge materiel6 0 catégorie6 non_concerné
le code :
Code : Tout sélectionner
REM ***** BASIC *****
Sub filtre_standard
Dim maPlage as Object
Dim optFiltre as Object
Dim monClasseur as Object
Dim maFeuille as Object
Dim maCellule as Object
Dim mesCriteres (0) As New com.sun.star.sheet.TableFilterField
monClasseur = ThisComponent
maFeuille = monClasseur.Sheets.getByName("Resultats")
maCellule = ThisComponent.Sheets(1).getCellRangeByName("E6:E12")
maPlage = ThisComponent.Sheets(0).getCellRangeByName("A6:E12")
optFiltre = maPlage.createFilterDescriptorByObject(maPlage)
optFiltre.setPropertyValue("ContainsHeader",TRUE)
optFiltre.setPropertyValue("UseRegularExpressions",TRUE)
optFiltre.setPropertyValue("CopyOutputData",FALSE)
optFiltre.setPropertyValue("IsNumeric", TRUE)
mesCriteres(0).Field =1
mesCriteres(0).Operator = com.sun.star.sheet.FilterOperator.EQUAL
mesCriteres(0).NumericValue =1
optFiltre.setFilterFields(MesCriteres())
maPlage.filter(optFiltre)
end sub
Peu être est-ce la ligne :
Code : Tout sélectionner
mesCriteres(0).NumericValue =1
Merci
Bonne soirée
BadWoo