Filtre automatique à plusieurs choix

Le
Denys
Bonjour à tous,

Sur une feuille excel extractée hebdomadairement, j'y retrouve entre
35 et 40 milles lignes. De ces lignes, il y a des noms d'employés en
colonne H. Je ne veux que conserver celles ayant un nom spécifique.
j'ai huit noms à conserver. Voici mon code:

Sub ClairerNoms1()
Dim Sh As Worksheet
Set Sh = ActiveSheet
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = False
With Sh
.Range("N1") = "Aubourg, Irenee"
.Range("N2") = "Barabe , Marie"
.Range("N3") = "Brunetta , Giuseppe"
.Range("N4") = "Cacchione , Anne - Marie"
.Range("N5") = "Gamache , Suzanne"
.Range("N6") = "Pollard , Kelly"
.Range("N7") = "Turel , Ronnie"
.Range("N8") = "Williston , Andrew"

.Range("O1").FormulaLocal = "=or(H1=$N$1,H1=$N$2,H1=$N$3,H1=
=$N
$4,H1=$N$5,H1=$N$6,H1=$N$7,H1=$N$8)"
With .Range("H1:H" & .Range("A65536").End(xlUp).Row)
.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Sh.Range("N1:N8"), Unique:=False
'.Offset(1).Resize(.Rows.Count - 1)
.SpecialCells(xlCellTypeVisible).EntireRow.Delete xlUp
End With
.Range("N1:O8") = ""
.ShowAllData
End With
Range("A1").Select
End Sub

Ca n'efface que la première ligne. Où se trouve mon erreur?

Merci

Denys
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #15371721
Bonjour.
Est-ce que le filtre fonctionne ? Est-ce que tu as des entêtes de colonne ?
tu dois avoir le même entête pour la colonne H et pour la colonne N.
Poste un classeur exemple sur www.cjoint.com.
Cordialement.
Daniel
"Denys"
Bonjour à tous,

Sur une feuille excel extractée hebdomadairement, j'y retrouve entre
35 et 40 milles lignes. De ces lignes, il y a des noms d'employés en
colonne H. Je ne veux que conserver celles ayant un nom spécifique....
j'ai huit noms à conserver. Voici mon code:

Sub ClairerNoms1()
Dim Sh As Worksheet
Set Sh = ActiveSheet
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = False
With Sh
.Range("N1") = "Aubourg, Irenee"
.Range("N2") = "Barabe , Marie"
.Range("N3") = "Brunetta , Giuseppe"
.Range("N4") = "Cacchione , Anne - Marie"
.Range("N5") = "Gamache , Suzanne"
.Range("N6") = "Pollard , Kelly"
.Range("N7") = "Turel , Ronnie"
.Range("N8") = "Williston , Andrew"

.Range("O1").FormulaLocal = "=or(H1=$N$1,H1=$N$2,H1=$N$3,H1=$N
$4,H1=$N$5,H1=$N$6,H1=$N$7,H1=$N$8)"
With .Range("H1:H" & .Range("A65536").End(xlUp).Row)
.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Sh.Range("N1:N8"), Unique:úlse
'.Offset(1).Resize(.Rows.Count - 1)
.SpecialCells(xlCellTypeVisible).EntireRow.Delete xlUp
End With
.Range("N1:O8") = ""
.ShowAllData
End With
Range("A1").Select
End Sub

Ca n'efface que la première ligne.... Où se trouve mon erreur?

Merci

Denys
JB
Le #16101951
Bonjour,

Exemple: http://cjoint.com/?hmjbBjrb4B

En J2: =ESTNA(EQUIV(H2;$N$1:$N$3;0))

Sub Filtre()
Range("A1:H1000").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:= _
Range("J1:J2"), Unique:úlse
End Sub

Sub suppression()
If MsgBox("Etes vous sûr?", vbYesNo) = vbYes Then
Range("_FilterDataBase").Offset(1,
0).Resize(Range("_FilterDataBase"). _
Rows.Count - 1).SpecialCells(xlCellTypeVisible).Delete
Shift:=xlUp
ActiveSheet.ShowAllData
Else
MsgBox "Annulé"
End If
End Sub

Sub affichetout()
ActiveSheet.ShowAllData
End Sub

JB
http://boisgontierjacques.free.fr


On 11 juil, 17:08, Denys
Bonjour à tous,

Sur une feuille excel extractée hebdomadairement, j'y retrouve entre
35 et 40 milles lignes. De ces lignes, il y a des noms d'employés en
colonne H. Je ne veux que conserver celles ayant un nom spécifique....
j'ai huit noms à conserver. Voici mon code:

Sub ClairerNoms1()
Dim Sh As Worksheet
Set Sh = ActiveSheet
        Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = False
With Sh
    .Range("N1") = "Aubourg, Irenee"
    .Range("N2") = "Barabe , Marie"
    .Range("N3") = "Brunetta , Giuseppe"
    .Range("N4") = "Cacchione , Anne - Marie"
    .Range("N5") = "Gamache , Suzanne"
    .Range("N6") = "Pollard , Kelly"
    .Range("N7") = "Turel , Ronnie"
    .Range("N8") = "Williston , Andrew"

    .Range("O1").FormulaLocal = "=or(H1=$N$1,H1=$N$2,H1=$N$ 3,H1=$N
$4,H1=$N$5,H1=$N$6,H1=$N$7,H1=$N$8)"
    With .Range("H1:H" & .Range("A65536").End(xlUp).Row)
        .AdvancedFilter Action:=xlFilterInPlace, CriteriaRange: = _
            Sh.Range("N1:N8"), Unique:úlse
        '.Offset(1).Resize(.Rows.Count - 1)
            .SpecialCells(xlCellTypeVisible).EntireRow.Delete xlUp
    End With
    .Range("N1:O8") = ""
    .ShowAllData
End With
    Range("A1").Select
End Sub

Ca n'efface que la première ligne.... Où se trouve mon erreur?

Merci

Denys


Publicité
Poster une réponse
Anonyme