
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”`.