UDF > Excel >


_Excel_FilterGet

Retourne la liste des filtres installées

#include <Excel.au3>
_Excel_FilterGet ( $oWorkbook [, $vWorksheet = Default] )

Paramètres

$oWorkbook Objet classeur Excel
$vWorksheet [optionnel] Nom, index ou objet de feuille de calcul filtré. Si la valeur est le mot-clé Default, la feuille active sera sélectionnée

Valeur de retour

Succès: Retourne un tableau à deux dimensions indexé à partir de zéro avec les informations suivantes:
    0 - On si un filtre est défini pour cette colonne
    1 - Nombre de zones (collection de plages) dont se compose la colonne filtrée
    2 - Critères de filtrage 1. Un tableau de chaînes est retourné en tant que chaîne séparée par des "|"
    3 - Critères de filtrage 2. Un tableau de chaînes est retourné en tant que chaîne séparée par des "|"
    4 - Une valeur XlAutoFilterOperator qui représente l'opérateur qui associe les deux critères de filtre
    5 - Objet Range pour lequel les filtres ont été installés
    6 - Nombre d'enregistrements visibles dans la plage filtrée (y compris la ligne avec la flèche du filtre)
Échec: Retourne 0 et définit @error <> 0.
@error: 1 - $oWorkbook n'est pas un objet ou n'est pas un objet classeur
2 - Le nom ou l'index $vWorksheet n'est pas valide ou $vWorksheet n'est pas un objet feuille de calcul. @extended contient le code d'erreur COM
3 - Pas de filtre trouvé

En relation

_Excel_FilterSet

Exemple

#include <Array.au3>
#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Crée un objet Excel et ouvre un classeur
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_FilterGet-Exemple", "Erreur lors de la création de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls", True)
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_FilterGet-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; Installe les deux filtres
_Excel_FilterSet($oWorkbook, Default, "A:E", 3, "<610")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_FilterGet-Exemple", "Erreur lors du filtrage des données." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $aShow[] = ["20", "40", "60"]
_Excel_FilterSet($oWorkbook, Default, "A:E", 2, $aShow, $xlFilterValues)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_FilterGet-Exemple", "Erreur lors du filtrage des données." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_FilterGet-Exemple", "Filters set:" & @CRLF & "  Colonne B: valeurs = 20, 40 or 60." & @CRLF & "  Colonne C: valeurs <610.")

; *****************************************************************************
; Affiche des informations sur les filtres de la feuille de calcul active.
; *****************************************************************************
Local $aFilters = _Excel_FilterGet($oWorkbook)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_FilterGet-Exemple 1", "Erreur lors du filtrage des données." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_ArrayDisplay($aFilters, "UDF Excel: _Excel_FilterGet-Exemple 1", Default, Default, Default, "Filter on|#areas|Criteria1|Criteria2|Operator|Range|#Records")