Macro VBA - Décocher un champ d'un filtre
Bien le bonjour.
Avant tout meilleurs Voeux.
Ensuite, je suis nouveau sur le forum et dans le VBA ou même tout simplement dans le développement.
Je travaille actuellement sur une macro qui contient des filtres.
Dans cette macro j'aimerai pouvoir "désélectionner" ou "décocher" des champs pour ensuite pouvoir supprimer les lignes des champs étant restés sélectionnés. J'ai cherché partout, mais a chaque fois je ne tombe que que sur les codes pour "sélectionner" des champs et non l'inverse.
Posons l'exemple : Colonne 5 (soit E) je peux trier selon 6 critères qu'on appellera Champ1, Champ2, Champ3, Champ4, Champ5 et Champ6. Je veux supprimer les lignes de Champ1, Champ2 et Champ3 (/!\ Là où je veux décocher et donc raisonner par l'inverse c'est que les champs déselectionnés auront toujours le même nom, mais ceux que je veux supprimer pourront être plus nombreux ou avoir des noms différents selons les extractions excel que j'utilise). Ou dans le sens inverse, je ne veux garder que les lignes de Champ4, Champ5, Champ6.
Quand j'ai enregistré ma Macro j'ai eu ce type de code ou dans ce genre là
Code:
1 2 3 4 5 6 7 8
|
ActiveSheet.Range("$A$1:$AJ$19608").AutoFilter Field:=5, Criteria1:=Array( _
"Champ1", "Champ2", "Champ3"), Operator:=xlFilterValues
Rows("174:174").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
ActiveSheet.Range("$A$1:$AJ$19601").AutoFilter Field:=5
Range("A1").Select |
J'ai pu le modifier pour donner ca, mais ca ne donne toujours pas le résultat que je souhaite.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
If Not AutoFilterMode Then Range("A1").AutoFilter
ActiveSheet.Range("$A$1:$AI$502").AutoFilter Field:=5, Criteria1:= _
"=Champ1", Operator:=xlOr, Criteria2:= _
"=Champ2"
' Supprimer les lignes des filtres sélectionnés
ActiveSheet.UsedRange.Rows("2:" & ActiveSheet.UsedRange.Rows.Count).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
' Désactivation des filtres
If FilterMode = True Then ActiveSheet.ShowAllData
' Désélectionner les filtres
ActiveSheet.UsedRange.Select |
Mon problème réside donc toujours dans le fait ou j'aimerai décocher Champs4, Champs5 et Champ6 pour pouvoir supprimer les lignes de Champs1, Champs2 et Champs3.
J'espère avoir réussi a faire comprendre mon souci.
En vous remerciant.
Cordialement
#JeSuisCharlie