Worksheet.AutoFilter, propriété (System 2007)

Mise à jour : novembre 2007

Obtient un Microsoft.Office.Interop.Excel.AutoFilter si le filtrage est activé. Obtient nullune référence null (Nothing en Visual Basic) si le filtrage est désactivé.

Espace de noms :  Microsoft.Office.Tools.Excel
Assembly :  Microsoft.Office.Tools.Excel.v9.0 (dans Microsoft.Office.Tools.Excel.v9.0.dll)

Syntaxe

<BrowsableAttribute(False)> _
Public ReadOnly Property AutoFilter As AutoFilter

Dim instance As Worksheet
Dim value As AutoFilter

value = instance.AutoFilter
[BrowsableAttribute(false)]
public AutoFilter AutoFilter { get; }

Valeur de propriété

Type : Microsoft.Office.Interop.Excel.AutoFilter

Microsoft.Office.Interop.Excel.AutoFilter si le filtrage est activé, sinon nullune référence null (Nothing en Visual Basic).

Notes

Pour créer un objet Microsoft.Office.Interop.Excel.AutoFilter pour une feuille de calcul, vous devez activer le filtrage automatique pour une plage sur la feuille de calcul, soit manuellement, soit à l'aide de la méthode AutoFilter de l'objet Range.

Exemples

L'exemple de code suivant crée une liste filtrée de fruits dans un Range, puis utilise la propriété AutoFilter pour afficher les critères de filtre pour la liste. L'exemple invite ensuite l'utilisateur à désactiver le filtre en utilisant la propriété AutoFilterMode, et enfin utilise la propriété FilterMode pour afficher si la feuille de calcul a une liste filtrée.

Cet exemple illustre une personnalisation au niveau du document.

Private Sub ActivateAutoFilter()
    Me.Range("A1").Value2 = "Fruits"
    Me.Range("A2").Value2 = "Banana"
    Me.Range("A3").Value2 = "Apple"
    Me.Range("A4").Value2 = "Banana"
    Me.Range("A5").Value2 = "Orange"
    Me.Range("A6").Value2 = "Apple"
    Me.Range("A7").Value2 = "Orange"

    Dim NamedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _
        Me.Controls.AddNamedRange(Me.Range("A1", "A7"), "NamedRange1")

    NamedRange1.AutoFilter(1, "Apple", Excel.XlAutoFilterOperator.xlAnd, _
        VisibleDropDown:=True)

    MsgBox("The current criteria for the AutoFilter is: " & _
        Me.AutoFilter.Filters(1).Criteria1.ToString())

    If Me.AutoFilterMode Then
        If DialogResult.Yes = MessageBox.Show("Would you like to " & _
            "turn off the filter?", "Example", MessageBoxButtons.YesNo) Then
            Me.AutoFilterMode = False
        End If
    End If

    If Me.FilterMode Then
        MsgBox("The worksheet has a filtered list.")
    Else
        MsgBox("The worksheet does not have a filtered list")
    End If
End Sub
private void ActivateAutoFilter()
{
    this.Range["A1", missing].Value2 = "Fruits";
    this.Range["A2", missing].Value2 = "Banana";
    this.Range["A3", missing].Value2 = "Apple";
    this.Range["A4", missing].Value2 = "Banana";
    this.Range["A5", missing].Value2 = "Orange";
    this.Range["A6", missing].Value2 = "Apple";
    this.Range["A7", missing].Value2 = "Orange";

    Microsoft.Office.Tools.Excel.NamedRange NamedRange1 =
        this.Controls.AddNamedRange(this.Range["A1", "A7"],
        "NamedRange1");

    NamedRange1.AutoFilter(1, "Apple",
       Excel.XlAutoFilterOperator.xlAnd, missing, true);

    MessageBox.Show("The current criteria for the AutoFilter is: " +
        this.AutoFilter.Filters[1].Criteria1.ToString());

    if (this.AutoFilterMode)
    {
        if (DialogResult.Yes == MessageBox.Show("Would you like to " +
            "turn off the filter?", "Example", MessageBoxButtons.YesNo))
        {
            this.AutoFilterMode = false;
        }
    }

    if (this.FilterMode)
    {
        MessageBox.Show("The worksheet has a filtered list.");
    }
    else
    {
        MessageBox.Show("The worksheet does not have a filtered list");
    }
}

Autorisations

Voir aussi

Référence

Worksheet, classe

Membres Worksheet

Microsoft.Office.Tools.Excel, espace de noms