N
nico91410
Guest
Salut,
J'ai un fichier avec plusieurs onglets. Dans ces onglets je souhaite trier les valeurs par ordre décroissant. Ces onglets sont actualisés chaque semaine.
J'ai fait deux range une pour les noms des onglets à trier l'autre pour la colonne à trier (décroissant)
J'ai fait de cette manière car j'ai souvent des onglets qui s'ajoute à mon fichier.
Ma macro malheureusement ne marche pas 🙁
Sub testtri()
Dim ongletfiltre As Range
Dim colonnefiltre As Range
Set ongletfiltre = Range("ongletfiltre")
Set cfiltre = Range("colonnefiltre").Value
For Each C In ongletfiltre
Set o = Sheets(C.Value)
o.AutoFilter.Sort.SortFields.Clear
o.AutoFilter.Sort.SortFields.Add Key:= _
Range(cfiltre & "1"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With o.AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Next
End Sub
Je vous envoie le fichier
Merci d'avance pour votre aide.
J'ai un fichier avec plusieurs onglets. Dans ces onglets je souhaite trier les valeurs par ordre décroissant. Ces onglets sont actualisés chaque semaine.
J'ai fait deux range une pour les noms des onglets à trier l'autre pour la colonne à trier (décroissant)
J'ai fait de cette manière car j'ai souvent des onglets qui s'ajoute à mon fichier.
Ma macro malheureusement ne marche pas 🙁
Sub testtri()
Dim ongletfiltre As Range
Dim colonnefiltre As Range
Set ongletfiltre = Range("ongletfiltre")
Set cfiltre = Range("colonnefiltre").Value
For Each C In ongletfiltre
Set o = Sheets(C.Value)
o.AutoFilter.Sort.SortFields.Clear
o.AutoFilter.Sort.SortFields.Add Key:= _
Range(cfiltre & "1"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With o.AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Next
End Sub
Je vous envoie le fichier
Merci d'avance pour votre aide.