• Initiateur de la discussion Initiateur de la discussion milpom
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

milpom

Guest
Bonjour à tous.
Est-il possible d'appliquer la fonction filter sur un tableau avec plusieurs critères ?

je reprends un exemple du net

sub a()
Dim DataString(3) As String
Dim InString() As String
Dim i As Integer

'Remplissage du tableau qui va être testé
DataString(0) = "chaine 1"
DataString(1) = "string 2"
DataString(2) = "chaine 3"
DataString(3) = "string 4"

'"DataString" est le tableau dans lequel doit être effectué la recherche.
'"str" est la chaîne à rechercher.
'La fonction Filter renvoie le tableau "InString" contenant les éléments
'qui répondent aux critères de la recherche.
InString = Filter(DataString, "str", True)

En plus de "str" je voudais mettre "2"
ce qui voudrait dire: chercher toutes les lignes contenant les mots "str" et "2"
esce possible ?




'Boucle sur le tableau afin de visualiser les éléments
'qui répondent aux critères de recherche.
For i = 0 To UBound(InString)
Debug.Print InString(i)
Next i

End Sub
 
Re : Fonction Filter

Bonjour,

Code:
Sub a()
Dim DataString(3) As String
Dim InString() As String
Dim i As Integer
'Remplissage du tableau qui va être testé
DataString(0) = "chaine 1"
DataString(1) = "string 2"
DataString(2) = "chastre 2"
DataString(3) = "string 5"
'"DataString" est le tableau dans lequel doit être effectué la recherche.
'"str" est la chaîne à rechercher.
'La fonction Filter renvoie le tableau "InString" contenant les éléments
'qui répondent aux critères de la recherche.
InString = Filter(Filter(DataString, "str", True), "2", True)
End Sub

InString contiendra "String 2" ET "chastre 2" mais pas "string 5"

A+
 
Re : Fonction Filter

InString = Filter(Filter(DataString, "str", True), "2", True)

Merci hasco pour ta réponse.

Donc écrit comme ci-dessus, cette fonction retourne toutes les lignes contenant les chaines "str" OU "2".

Je cherche à retourner les lignes contenant les chaines "str" ET "2"

Comment faire ?

edit : OOPS j'ai pas fais gaffe que chastre contenait la chaine "str". milles excuses
donc c'est bon.

Maintenant il faut que je trouve le moyen de faire un multi critère dans cette fonction...
 
Dernière modification par un modérateur:
Re : Fonction Filter

Re,

Multi-critère impossible avec Filter. Si c'est pour travailler sous VBA excel, suivant le cas il doit y avoir d'autres moyens, ne serait-ce que AdvancedFilter sur une plage provisoire ou non.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
906
Réponses
3
Affichages
439
Réponses
5
Affichages
906
Retour