Bonjour,
Je sollicite votre aide pour un petit problème.
Je désire mettre en place des filtres permanent afin de créer un style tableau de bord, dans mon cas l'utilisation de TCD est impossible, la table doit rester comme cela, car je viens injecter des valeurs périodiquement.
Concrètement, je souhaite mettre en place des filtres par noms et par seuils, le problème est que:
Quand je filtre sur les centre 025, 15 lignes apparaissent, maintenant je veux les 5 lignes avec le plus d'évènements dans la colonne An ou Mn ou Sn.
Le problème est que le top 5 par exemple agit sur ma table tout entière et ne prends pas en compte le filtre 025.
J'ai crée des variables loupe et top qui me permette de modifier les vues, An;Mn;Sn, 5, 10,30,50
Sub Filtragetop()
Dim loupe As String
Dim colonne As Integer
Dim top As Byte
loupe = Sheets("test").Range("H1")
top = Sheets("test").Range("H2")
colonne = Sheets("test").Rows(7).Find(loupe, lookat:=xlWhole).Column
ActiveSheet.Range(Cells(7, colonne), Cells(2000, colonne)).SpecialCells(xlCellTypeVisible).AutoFilter Field:=colonne, Criteria1:=top, _
Operator:=xlTop10Items
End Sub
Sub Filtragecentre()
Dim centre As String
Dim plage As Range
centre = Sheets("test").Range("H3")
ActiveSheet.Range("$A$7:$G$31").AutoFilter Field:=1, Criteria1:=centre
End Sub
J'ai essayé de contourner le problème avec SpecialCells(xlCellTypeVisible), pour que le filtre ne s'applique que a ce qui est visible, mais sans succès.
Je me suis penché sur l'option AdvancedFilter, cela fonctionne, mais je n'arrive pas à mettre en place un système de TOP évènements. Existe t'il un test logique qui permeterait d'afficher que les 10 premières valeurs ?
Grande valeur ? Rang ?
Sub FiltrerDonner()
'déclaration des varaibles
Dim données As Range
Dim critères As Range
'affectation des varaibles
Set données = ThisWorkbook.Worksheets("test").Range("A12").CurrentRegion
Set critères = ThisWorkbook.Worksheets("test").Range("A1").CurrentRegion
'On lance l'outil filtreAvance
données.AdvancedFilter xlFilterInPlace, critères
End Sub
Sachant que je préférerai trouver une solution avec la première réflexion,
Merci d'avance pour votre temps,
Bonne fin de journée,