Besoin Aide MACRO FILTRE AVANCE MULTI CRITERES avec Criteres > & < .

Copper Contributor

Bonjour à Toutes et à Tous !, j'ai EXCEL 2007 64bits,

 

.Je vous joins mon fichier Exemple ..: MACRO FILTRE AVANCE MULTI CRITERES avec Criteres Supérieur & Inferieur.xlsm ?

.J'ai une feuille avec plusieurs colonnes de données , et plusieurs critères avec des données a filtrer sélectionnées en > et <.
.Lorsque je fais des filtres avec la fonction "filtres avancé" en " manuel " cela marche , j'ai mon résultat mais il ne récupère pas la Valeur à la case concernée, il n'y a rien.

. Je cherche à créer une Macro avec "filtrer avancé " les valeurs > et <, mais celle ci ne fonctionne pas , soit quand cela s'affiche, il manque la moitiée des Valeurs filtrées , soit il n'y a aucune valeur qui se sélectionne au filtrage, tout "s'éfface d'affichage" et surtout rien aucun résultat affiché à la céllule voulue.

.Lorsque je crée la Macro tout vas bien, puis j'arrete l'enregistrement. Le Module est créé tout va bien.
. ...ou , 2 ème essai , en code , je crée le module , et je rentre ce code VBA, puis j'enregistre.

.Une fois toutes les plages remises à zéro , avec le précédent résultat effacé manuel, c'est lorsque j'exécute la Macro , que là elle ne fonctionne pas.
.Le séquençage Excel de la Macro , ne fonctionne pas , et me donne qu'une partie des résultats.

.Code simple de la Macro:
Sub Macro1()
'
' Macro1 Macro
'

'
Range("B1:J37").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"J65:K105"), CopyToRange:=Range("AI66"), Unique:=False
Range("B1").Select
End Sub


..Ce code , cela ne marche pas , cela donne toujours 1 seul résultat du filtre plutôt que les 5 souhaités.

.En bref une Macro "Filtre avancé" avec des Valeurs > et < , ne fonctionne pas….
.J'ai tenté de faire cette Macro sur plusieurs versions d'Excel (2007,2010,2016) l'execution de la Macro ne marche pas.

.Il ne faut pas que je passe en Code VBA , car les différents Filtres > et < , seront fixes et immuables, sauf si je les reprends les uns après les autres en codage.
.Hors j'ai une centaine de filtres à faire comme cela , cela m'oblige à faire des Macros.

.L'avantage d'avoir une Macro Excel , est que l'on peut modifier les Valeurs des Filtres > et <, constamment, autrement dit les Filtres en > et < sont évolutifs instantanément, mais pas en VBA ou  les valeurs sont figées dans un code. 

.Quelqu'un pourrait il me dire ce qui ne va pas dans cette Macro , ou peut etre n'ai je pas coché les bonnes options dans les "outils" ou compléments d'excel… ?

.Ou peut etre passer en Access ?
.Pouvez vous me donner un exemple qui marche lorsque vous éxecutez la Macro ?

2 Replies
VBA speaks American. If you replace all . characters in the filter area with , the macro will work. Unfortunately then the manual method will no longer work. Best is to set up the advanced filter criteria to use a formula which returns TRUE or FALSE. See the Help for Advanced filter.

@Jeanluc31470 

I like the expression "VBA speaks America" ... that's very true

To add,

Extracting records based on multiple criteria can be done in so many ways:

  • Using advanced filter in VBA as you did
  • Using the Find command and Looping over the records in VBA
  • Recording a Macro for Advanced Filter in regular Excel
  • Using Formulas and Functions (which is dynamic)

I am attaching herewith a sample File where I used 3 of these methods on different sheets >> Change the criteria in Row 2 from the drop list and records are automatically extracted.

 

You can also watch my tutorial on how I did it by following the link:

https://www.youtube.com/watch?v=9yhbh6l_rag

Hope that helps

Bonne Chance  :) 

Nabil Mourad