VBA filtre multi critères

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 !

Alban.aktisea

XLDnaute Nouveau
Bonjour,

J'ai un filtre à réaliser avec des critères que je dois pouvoirs saisir dans différentes cellules d'un tableau.

Pour l'instant j'ai fait ça :

'Sheets("Listing entreprises").Range("$A$3:$Z$10000").AutoFilter Field:=5, Criteria1:=Array(Sheets("Rapport").Range("K3").Value, Sheets("Rapport").Range("L3").Value, Sheets("Rapport").Range("M3").Value, Sheets("Rapport").Range("N3").Value), Operator:=xlFilterValues
End Sub

Ça fonctionne mais je me dis qu'il y a peut-être un moyen d'optimiser cette macro en précisant une plage de cellule à prendre en compte. ex : cellule K3:R5 dans mon cas.


Si vous avez des idées ou des conseils je suis preneur. J'ai trouvé que des choses qui me semblent assez compliqués sur le forum
 
Re : VBA filtre multi critères

Bonjour Paritec,

Merci pour ta réponse, j'ai essayé comme ceci et en enlevant "Operator:=xlFilterValues"

Sheets("Listing entreprises").Range("$A$3:$Z$10000").AutoFilter Field:=5, Criteria1:=Sheets("Rapport").Range("K3:R5"), Operator:=xlFilterValues

mais j'ai l'erreur suivante : erreur d'execution 1004 : Impossible de définir la propriété NumberFormat de la classe Range.

Est-ce parce que dans mes cellules j'ai du texte? parce que j'ai des cellules vides?
 
Re : VBA filtre multi critères

Non toujours pareil, avec Operator:=xlFilterValues j'ai eu un message l'objet s'est déconnecté de ses clients???

Sans Operator:=xlFilterValues j'ai la méthode Range a échoué.

Je pense que la macro ne comprend pas qu'il faut regarder le contenu de chaque cellule de la plage ou que le format attendu n'est pas du texte...
 
Re : VBA filtre multi critères

Bonjour Alban, Paritec et tout le forum. Je ne sais pas si mon filtre que j'utilise pour ma loterie pourrait faire l'affaire...Je me sers d'un compte pour trouver les valeurs voulues dans ma liste.
Range("A4:V" & [A65000].End(xlUp).Row).Name = "ListeBanco"
If Application.CountA(Range("C2")) = 1 Then
Range("m2").FormulaR1C1 = _
"=COUNTIF(R[3]C3:R[3]C22,R2C3)=1"
Range("ListeBanco").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range( _
"m1:m2"), Unique:=False
[m2].Clear
End If

Ici c'est seulement pour trouver 1 valeur. En espérant que cela puisse t'aider.
Bonne journée
 
- 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

Discussions similaires

Réponses
3
Affichages
307
Réponses
18
Affichages
721
Réponses
12
Affichages
912
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
390
Réponses
1
Affichages
394
Réponses
3
Affichages
851
Retour