moi_ces_moi
XLDnaute Nouveau
Bonjour,
J'ai un classeur avec une feuille par jour, le nom de la feuille est égale a la cellule A3 (une date), je voudrai bien quand je clic sur une feuille que le tableau dessus soit filtré.
Il faut afficher ("C", "CS", "F", "H", "HS", "M", "O", "P", "RF", "VA/HS") dans la colonne O/F et la trier de A à Z.
J'ai fait ceci :
Je place ceci sur la feuille mais quand je fais une copie de la feuille pour faire un autre jour, le nom de feuille et du tableau ne change pas dans le code en fonction du nom de la feuille (nom de la feuille en A3).
Je ne sais pas si je suis explicite et si vous savez m'aider ?
Merci d'avance
J'ai un classeur avec une feuille par jour, le nom de la feuille est égale a la cellule A3 (une date), je voudrai bien quand je clic sur une feuille que le tableau dessus soit filtré.
Il faut afficher ("C", "CS", "F", "H", "HS", "M", "O", "P", "RF", "VA/HS") dans la colonne O/F et la trier de A à Z.
J'ai fait ceci :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A3")) Is Nothing Then
ActiveSheet.Name = Target: End If
ActiveSheet.ListObjects("Tableau2").Range.AutoFilter Field:=4, Criteria1:= _
Array("C", "CS", "F", "H", "HS", "M", "O", "P", "RF", "VA/HS"), Operator:= _
xlFilterValues
ActiveWorkbook.Worksheets("02-01-20").ListObjects("Tableau2").Sort.SortFields. _
Clear
ActiveWorkbook.Worksheets("02-01-20").ListObjects("Tableau2").Sort.SortFields. _
Add2 Key:=Range("Tableau2[[#All],[O/F]]"), SortOn:=xlSortOnValues, Order _
:=xlAscending, CustomOrder:="o,f,c,cs,hs,ss,rf,m,VA/HS", DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("02-01-20").ListObjects("Tableau2").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Je ne sais pas si je suis explicite et si vous savez m'aider ?
Merci d'avance