OVH Cloud OVH Cloud

Critères pour Autofilter

4 réponses
Avatar
Denys
Bonjour à tous,

Dans une colonne "G", je souhaite éliminer les lignes comprenant l'un de 20
critères. Comment puis-je créer cela en VBA? En fait, j'ai droit à combien de
critères??

Voici où j'en suis....

Sub EliminerPlanType()
With Worksheets("Data")
Application.ScreenUpdating = False
With .Range("G:G")
.AutoFilter field:=1, Criteria1:="=RESP"
.AutoFilter field:=2, Criteria2:="=RRSP"
.AutoFilter field:=3, Criteria1:="=LIF"
.AutoFilter field:=4, Criteria1:="=OOO"
.AutoFilter field:=5, Criteria1:="=FTA"
.Range("_FilterDatabase").Offset(1).SpecialCells(xlCellTypeVisible) _
.EntireRow.Delete (xlUp)
.AutoFilter
End With
End With
End Sub

J'ai aussi essayé:

Sub EliminerPlanType()
With Worksheets("Data")
Application.ScreenUpdating = False
With .Range("G:G")
.AutoFilter field:=1, Criteria1:="=RESP", Criteria2:="=Group RRSP",
Criteria3:="=LIF" etc.....

.Range("_FilterDatabase").Offset(1).SpecialCells(xlCellTypeVisible) _
.EntireRow.Delete (xlUp)
.AutoFilter
End With
End With
End Sub

Auriez-vous une idée?

Merci

Denys

4 réponses

Avatar
Daniel
Bonsoir.
Avec un filtre automatique personnalisé, tu as droit à deux critères. Tu
peux jouer avec les opérateurs (<, > etc.) ou les caractères génériques (*,
?). Sinon Fais 10 passages ou utilise un filtre élaboré.
Cordialement.
Daniel
"Denys" a écrit dans le message de news:

Bonjour à tous,

Dans une colonne "G", je souhaite éliminer les lignes comprenant l'un de
20
critères. Comment puis-je créer cela en VBA? En fait, j'ai droit à combien
de
critères??

Voici où j'en suis....

Sub EliminerPlanType()
With Worksheets("Data")
Application.ScreenUpdating = False
With .Range("G:G")
.AutoFilter field:=1, Criteria1:="=RESP"
.AutoFilter field:=2, Criteria2:="=RRSP"
.AutoFilter field:=3, Criteria1:="=LIF"
.AutoFilter field:=4, Criteria1:="=OOO"
.AutoFilter field:=5, Criteria1:="=FTA"
.Range("_FilterDatabase").Offset(1).SpecialCells(xlCellTypeVisible)
_
.EntireRow.Delete (xlUp)
.AutoFilter
End With
End With
End Sub

J'ai aussi essayé:

Sub EliminerPlanType()
With Worksheets("Data")
Application.ScreenUpdating = False
With .Range("G:G")
.AutoFilter field:=1, Criteria1:="=RESP", Criteria2:="=Group RRSP",
Criteria3:="=LIF" etc.....

.Range("_FilterDatabase").Offset(1).SpecialCells(xlCellTypeVisible) _
.EntireRow.Delete (xlUp)
.AutoFilter
End With
End With
End Sub

Auriez-vous une idée?

Merci

Denys




Avatar
anonymousA
La solution passe par le filtre élaboré ( ou par QUERY si ca et tente )
pour l'extraction des données répondant à tes critères puis dans le 1er
cas conduisant à la possibilité de la suppression et dans le second cas
de la confection d'une base nouvelle ne comprenant pas les lignes
répondant aux critères en question.
Pourras-tu y arriver sans aide supplémentaire ou en souhaites-tu ?

A+


Bonjour à tous,

Dans une colonne "G", je souhaite éliminer les lignes comprenant l'un de 20
critères. Comment puis-je créer cela en VBA? En fait, j'ai droit à combien de
critères??

Voici où j'en suis....

Sub EliminerPlanType()
With Worksheets("Data")
Application.ScreenUpdating = False
With .Range("G:G")
.AutoFilter field:=1, Criteria1:="=RESP"
.AutoFilter field:=2, Criteria2:="=RRSP"
.AutoFilter field:=3, Criteria1:="=LIF"
.AutoFilter field:=4, Criteria1:="=OOO"
.AutoFilter field:=5, Criteria1:="=FTA"
.Range("_FilterDatabase").Offset(1).SpecialCells(xlCellTypeVisible) _
.EntireRow.Delete (xlUp)
.AutoFilter
End With
End With
End Sub

J'ai aussi essayé:

Sub EliminerPlanType()
With Worksheets("Data")
Application.ScreenUpdating = False
With .Range("G:G")
.AutoFilter field:=1, Criteria1:="=RESP", Criteria2:="=Group RRSP",
Criteria3:="=LIF" etc.....

.Range("_FilterDatabase").Offset(1).SpecialCells(xlCellTypeVisible) _
.EntireRow.Delete (xlUp)
.AutoFilter
End With
End With
End Sub

Auriez-vous une idée?

Merci

Denys




Avatar
Denys
Bonjour Daniel et AnonymousA,

Bon... Finalement, ce que je peux faire, c'est copier les lignes
correpondant à un critère sur une nouvelle feuille et répéter l'opération 14
fois.... Ce ne sera pas si long car, je passe d'une base de données d'environ
35 000 lignes... rendu à cette opération, il ne me reste qu'environ 2 000
lignes..... Donc, c'est pas la mer à boire...

Y a des choses pires que ça dans la vie....

Bien sûr si vous avez une solution déjà écrite..... mais ne vous donnez pas
de peine si ce n'est pas le cas.....

Merci pour votre temps

Denys


La solution passe par le filtre élaboré ( ou par QUERY si ca et tente )
pour l'extraction des données répondant à tes critères puis dans le 1er
cas conduisant à la possibilité de la suppression et dans le second cas
de la confection d'une base nouvelle ne comprenant pas les lignes
répondant aux critères en question.
Pourras-tu y arriver sans aide supplémentaire ou en souhaites-tu ?

A+


Bonjour à tous,

Dans une colonne "G", je souhaite éliminer les lignes comprenant l'un de 20
critères. Comment puis-je créer cela en VBA? En fait, j'ai droit à combien de
critères??

Voici où j'en suis....

Sub EliminerPlanType()
With Worksheets("Data")
Application.ScreenUpdating = False
With .Range("G:G")
.AutoFilter field:=1, Criteria1:="=RESP"
.AutoFilter field:=2, Criteria2:="=RRSP"
.AutoFilter field:=3, Criteria1:="=LIF"
.AutoFilter field:=4, Criteria1:="=OOO"
.AutoFilter field:=5, Criteria1:="=FTA"
.Range("_FilterDatabase").Offset(1).SpecialCells(xlCellTypeVisible) _
.EntireRow.Delete (xlUp)
.AutoFilter
End With
End With
End Sub

J'ai aussi essayé:

Sub EliminerPlanType()
With Worksheets("Data")
Application.ScreenUpdating = False
With .Range("G:G")
.AutoFilter field:=1, Criteria1:="=RESP", Criteria2:="=Group RRSP",
Criteria3:="=LIF" etc.....

.Range("_FilterDatabase").Offset(1).SpecialCells(xlCellTypeVisible) _
.EntireRow.Delete (xlUp)
.AutoFilter
End With
End With
End Sub

Auriez-vous une idée?

Merci

Denys







Avatar
anonymousA
Tu fais comme tu le sens. Il n'est pourtant jamais si mauvais
d'apprendre de nouvelles choses mais ca c'est toi qui vois.

A+

Bonjour Daniel et AnonymousA,

Bon... Finalement, ce que je peux faire, c'est copier les lignes
correpondant à un critère sur une nouvelle feuille et répéter l'opération 14
fois.... Ce ne sera pas si long car, je passe d'une base de données d'environ
35 000 lignes... rendu à cette opération, il ne me reste qu'environ 2 000
lignes..... Donc, c'est pas la mer à boire...

Y a des choses pires que ça dans la vie....

Bien sûr si vous avez une solution déjà écrite..... mais ne vous donnez pas
de peine si ce n'est pas le cas.....

Merci pour votre temps

Denys


La solution passe par le filtre élaboré ( ou par QUERY si ca et tente )
pour l'extraction des données répondant à tes critères puis dans le 1er
cas conduisant à la possibilité de la suppression et dans le second cas
de la confection d'une base nouvelle ne comprenant pas les lignes
répondant aux critères en question.
Pourras-tu y arriver sans aide supplémentaire ou en souhaites-tu ?

A+


Bonjour à tous,

Dans une colonne "G", je souhaite éliminer les lignes comprenant l'un de 20
critères. Comment puis-je créer cela en VBA? En fait, j'ai droit à combien de
critères??

Voici où j'en suis....

Sub EliminerPlanType()
With Worksheets("Data")
Application.ScreenUpdating = False
With .Range("G:G")
.AutoFilter field:=1, Criteria1:="=RESP"
.AutoFilter field:=2, Criteria2:="=RRSP"
.AutoFilter field:=3, Criteria1:="=LIF"
.AutoFilter field:=4, Criteria1:="=OOO"
.AutoFilter field:=5, Criteria1:="=FTA"
.Range("_FilterDatabase").Offset(1).SpecialCells(xlCellTypeVisible) _
.EntireRow.Delete (xlUp)
.AutoFilter
End With
End With
End Sub

J'ai aussi essayé:

Sub EliminerPlanType()
With Worksheets("Data")
Application.ScreenUpdating = False
With .Range("G:G")
.AutoFilter field:=1, Criteria1:="=RESP", Criteria2:="=Group RRSP",
Criteria3:="=LIF" etc.....

.Range("_FilterDatabase").Offset(1).SpecialCells(xlCellTypeVisible) _
.EntireRow.Delete (xlUp)
.AutoFilter
End With
End With
End Sub

Auriez-vous une idée?

Merci

Denys