Comment utiliser la fonction Filter dans VBA ?

La fonction `Filter` en VBA (Visual Basic for Applications) est utilisée pour obtenir un sous-ensemble d’un tableau de chaînes qui répond à des critères spécifiques. Elle recherche une chaîne spécifique dans chaque élément du tableau et retourne un tableau contenant uniquement les éléments qui correspondent.

Voici comment utiliser la fonction `Filter` :

Syntaxe de la fonction Filter

Filter(SourceArray, Match, [Include], [Compare])
  • SourceArray : Le tableau de chaînes dans lequel effectuer la recherche.
  • Match : La chaîne de caractère à rechercher dans chaque élément du tableau.
  • Include (optionnel) : Valeur booléenne qui détermine si vous souhaitez inclure ou exclure les éléments qui correspondent. Si `True` (par défaut), les éléments correspondants sont inclus dans la nouvelle matrice. Si `False`, ils sont exclus.
  • Compare (optionnel) : Spécifie le type de comparaison de chaînes à utiliser. Utilisez `vbBinaryCompare` pour une comparaison binaire (sensible à la casse) ou `vbTextCompare` pour une comparaison textuelle (insensible à la casse).

Exemple d’utilisation

Voici un exemple qui illustre comment utiliser `Filter` dans un module VBA pour filtrer un tableau de chaînes :

Sub ExempleUtilisationFilter()
    Dim fruits As Variant
    Dim resultat As Variant
    Dim i As Integer
    
    ' Définition d'un tableau de chaînes
    fruits = Array("Pomme", "Banane", "Cerise", "Ananas", "Pamplemousse")
    
    ' Utilisation de Filter pour obtenir les éléments contenant "an"
    resultat = Filter(fruits, "an", True, vbTextCompare)
    
    ' Vérifier si des résultats ont été trouvés
    If Not IsEmpty(resultat) Then
        ' Boucle à travers le tableau résultant
        For i = LBound(resultat) To UBound(resultat)
            Debug.Print resultat(i)  ' Affiche chaque élément dans la fenêtre Immediate
        Next i
    Else
        Debug.Print "Aucun résultat trouvé."
    End If
End Sub

Explications

  • Déclaration du tableau `fruits` : C’est le tableau d’origine contenant différentes chaînes de caractères.
  • Fonction `Filter` : Elle est utilisée pour rechercher la sous-chaîne `”an”` dans chaque élément du tableau `fruits`.
  • Paramètre `vbTextCompare` : Permet une recherche insensible à la casse, ce qui signifie que “An” et “an” seront considérés comme équivalents.
  • Affichage des résultats : Les éléments du tableau qui contiennent `”an”` sont imprimés dans la fenêtre Immediate de l’éditeur VBA.

Ce code extrait et affiche tous les éléments du tableau `fruits` contenant la sous-chaîne `”an”`.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project