Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Filtre automatique à plusieurs choix

2 réponses
Avatar
Denys
Bonjour =E0 tous,

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

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

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

Ca n'efface que la premi=E8re ligne.... O=F9 se trouve mon erreur?

Merci

Denys

2 réponses

Avatar
Daniel.C
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" a écrit dans le message de news:

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
Avatar
JB
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 wrote:
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