Partager via


NamedRange.AdvancedFilter, méthode

Filtre ou copie des données à partir d'une liste basée sur une zone de critères.

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

Syntaxe

'Déclaration
Function AdvancedFilter ( _
    Action As XlFilterAction, _
    CriteriaRange As Object, _
    CopyToRange As Object, _
    Unique As Object _
) As Object
Object AdvancedFilter(
    XlFilterAction Action,
    Object CriteriaRange,
    Object CopyToRange,
    Object Unique
)

Paramètres

  • CriteriaRange
    Type : System.Object
    Zone de critères.Si cet argument est omis, aucun critère n'est spécifié.
  • CopyToRange
    Type : System.Object
    Plage de destination pour les lignes copiées si Action a la valeur xlFilterCopy.Sinon, cet argument est ignoré.
  • Unique
    Type : System.Object
    true pour filtrer seulement les enregistrements uniques ; false pour filtrer tous les enregistrements qui répondent aux critères.La valeur par défaut est false.

Valeur de retour

Type : System.Object

Notes

Si la sélection initiale est une cellule unique, la zone active de cette cellule est utilisée.

Paramètres optionnels

Pour plus d'informations sur les paramètres optionnels, consultez Paramètres optionnels dans les solutions Office.

Exemples

L'exemple de code suivant définit des valeurs entières dans la plage de cellules A1 à A5, puis utilise la méthode AdvancedFilter pour filtrer et copier les valeurs dans la plage de cellules commençant à B1.

Cet exemple illustre une personnalisation au niveau du document.

    Private Sub ActivateAdvancedFilter()
        Dim namedRange1 As Microsoft.Office.Tools.Excel.NamedRange _
            = Me.Controls.AddNamedRange(Me.Range("A1", "A5"), _
            "namedRange1")

        Me.Range("A1").Value2 = 10
        Me.Range("A2").Value2 = 10
        Me.Range("A3").Value2 = 20
        Me.Range("A4").Value2 = 10
        Me.Range("A5").Value2 = 30

        namedRange1.AdvancedFilter(Excel.XlFilterAction.xlFilterCopy, , _
            Me.Range("B1"), True)
    End Sub

private void ActivateAdvancedFilter()
{
    Microsoft.Office.Tools.Excel.NamedRange namedRange1 =
        this.Controls.AddNamedRange(this.Range["A1", "A5"],
        "namedRange1");

    this.Range["A1"].Value2 = 10;
    this.Range["A2"].Value2 = 10;
    this.Range["A3"].Value2 = 20;
    this.Range["A4"].Value2 = 10;
    this.Range["A5"].Value2 = 30;

    namedRange1.AdvancedFilter(Excel.XlFilterAction.xlFilterCopy,
         this.Range["B1"], true);
}

Sécurité .NET Framework

Voir aussi

Référence

NamedRange Interface

Microsoft.Office.Tools.Excel, espace de noms