Sub Filtrer()
Range("A1").AutoFilter
ActiveSheet.Range("$A$1:$A$22").AutoFilter Field:=1, Criteria1:=Array( _
"Cécile", "Delphine", "Eric", "Jacky", "Jean", "Mathilde"), Operator:= _
xlFilterValues
End Sub
Sub Défiltrer()
On Error Resume Next
ActiveSheet.ShowAllData
End Sub
Bonjour,Bonsoir Mcj,
Un essai en PJ avec :
VB:Sub Filtrer() Range("A1").AutoFilter ActiveSheet.Range("$A$1:$A$22").AutoFilter Field:=1, Criteria1:=Array( _ "Cécile", "Delphine", "Eric", "Jacky", "Jean", "Mathilde"), Operator:= _ xlFilterValues End Sub Sub Défiltrer() On Error Resume Next ActiveSheet.ShowAllData End Sub
Sub Filtrer()
Dim Plage
Application.ScreenUpdating = False
Plage = "$A$1:$A$" & Range("A65500").End(xlUp).Row
Range("A1").AutoFilter
ActiveSheet.Range(Plage).AutoFilter Field:=1, Criteria1:=Array( _
"Cécile", "Delphine", "Eric", "Jacky", "Jean", "Mathilde"), Operator:= _
xlFilterValues
End Sub
C’est parfait et opérationnel dans mon fichier, toutefois est-ce qu‘il serait possible d’automatiser la somme de colonne d en prenant les lignes Cécile Delphine et Éric et totaliser toujours en colonne d pour les lignes Jacky JEan et Mathilde ? Merci d’avance.Bonjour,
Testez cette version, elle est indépendante de la longueur de la liste, elle en tient compte avec :
VB:Sub Filtrer() Dim Plage Application.ScreenUpdating = False Plage = "$A$1:$A$" & Range("A65500").End(xlUp).Row Range("A1").AutoFilter ActiveSheet.Range(Plage).AutoFilter Field:=1, Criteria1:=Array( _ "Cécile", "Delphine", "Eric", "Jacky", "Jean", "Mathilde"), Operator:= _ xlFilterValues End Sub
Const MesCriteres As String = "Cécile/Delphine/Eric/Jacky/Jean/Mathilde"
Sub test()
Filtrage Range("A1"), Split(MesCriteres, "/")
End Sub
Private Sub Filtrage(r As Range, ParamArray vCriteres())
r.AutoFilter 1, vCriteres, 7
End Sub
Bonjour,Bonjour le fil
Une autre syntaxe pour filtrer
(au cas où les prénoms changent, il suffit de modifier la constante MesCriteres en conséquence)
Pour filtrer, c'est la macro test qu'on exécute.VB:Const MesCriteres As String = "Cécile/Delphine/Eric/Jacky/Jean/Mathilde" Sub test() Filtrage Range("A1"), Split(MesCriteres, "/") End Sub Private Sub Filtrage(r As Range, ParamArray vCriteres()) r.AutoFilter 1, vCriteres, 7 End Sub