Bonsoir,
J'essaie d'utiliser Autofilter pour conserver les lignes, pour lesquelles il est indiqué soit : PN, soit PR, soit LRR, soit LRN, soit ZDET dans la [colonne D]
Pour ce faire, je m'y prends ainsi : Pour toutes les valeurs différentes de "PN" ; "PR" ; "LRR" ; "LRN" ou "ZDET" en colonne D ; alors supprimer la ligne.
Malgré les explications trouvées sur internet et les tests réalisés, j'ai l'impression de réaliser la bonne méthode, mais je ne parviens pas à obtenir ce que je souhaite.
Voici quelques tests de code que j'ai fait :
' .Rows(1).AutoFilter
'Critères de recherche
Criteres = Array("<>PN", "PR", "LRN", "LRR", "ZDET")
.Rows("1:" & lrso).AutoFilter Field:=3, Criteria1:="<>" & Criteres, Operator:=xlAnd 'Operator:=xlOr
' .Rows("1:" & lrso).AutoFilter Field:=3, Criteria1:="<>" & "PN", Operator:=xlOr, Criteria1:="<>" & "PR", _
' Operator:=xlOr, Criteria1:="<>" & "LRN", Operator:=xlOr, Criteria1:="<>" & "LRR"
With so
'Array("PN", "PR", _
' "LRN", "LRR", "ZDET"), Operator:=xlAnd 'Operator:=xlFilterValues
' 'Field:=3, Criteria1:="<>" & "PN", Operator:=xlAnd
.Rows("2:" & lrso).Delete Shift:=xlUp
.Rows("1:" & lrso).AutoFilter Field:=3, Criteria1:="<>" & "PR", Operator:=xlAnd
.Rows("2:" & lrso).Delete Shift:=xlUp
.Rows("1:" & lrso).AutoFilter Field:=3, Criteria1:="<>" & "LRN", Operator:=xlAnd
.Rows("2:" & lrso).Delete Shift:=xlUp
.Rows("1:" & lrso).AutoFilter Field:=3, Criteria1:="<>" & "LRR", Operator:=xlAnd
.Rows("2:" & lrso).Delete Shift:=xlUp
.Rows("1:" & lrso).AutoFilter Field:=3, Criteria1:="<>" & "ZDET", Operator:=xlAnd
.Rows("2:" & lrso).Delete Shift:=xlUp
.Rows(1).AutoFilter
.ShowAllData
End With
Le résultat que j'obtiens est soit :
- aucune ligne
- 1 seule ligne, la première information traitée
Savez-vous ce que je fais de travers ?
Merci de votre aide !
Je suis pas loin du résultat, si je trouve d'ici peu, je posterai une réponse !
Bonne fin de soirée.