Macro pour trier un classement
Fermé
Tom_Criz
Messages postés
151
Date d'inscription
vendredi 29 janvier 2010
Statut
Membre
Dernière intervention
11 juin 2016
-
Modifié par Tom_Criz le 11/06/2016 à 23:07
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 12 juin 2016 à 06:32
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 12 juin 2016 à 06:32
A voir également:
- Macro pour trier un classement
- Excel trier par ordre croissant chiffre - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Application gratuite pour trier les photos - Guide
- Macro logiciel - Télécharger - Organisation
1 réponse
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
12 juin 2016 à 06:32
12 juin 2016 à 06:32
Bonjour
Pour le 1er point, vous demandez un tri sur 4 critères alors que la fonction utilisée n'en supporte que 3. Vous utilisez probablement une version d'Excel antérieure à 2007. Dans ce cas il faut faire le tri en 2 fois en commençant par les critères les moins prioritaires. D'abord un 1er tri avec "Ga" puis un 2ème tri avec "PtsA", DiffA" et "BpA".
Si vous utilisez une version d'excel >=2007 utilisez l'enregistreur de macro. ce qui donne
Pour le 2ème point, il serait souhaitable que vous mettiez quelques exemples avec le résultat attendu, ce serait plus facile pour la compréhension.
Cdlt
Pour le 1er point, vous demandez un tri sur 4 critères alors que la fonction utilisée n'en supporte que 3. Vous utilisez probablement une version d'Excel antérieure à 2007. Dans ce cas il faut faire le tri en 2 fois en commençant par les critères les moins prioritaires. D'abord un 1er tri avec "Ga" puis un 2ème tri avec "PtsA", DiffA" et "BpA".
Si vous utilisez une version d'excel >=2007 utilisez l'enregistreur de macro. ce qui donne
Private Sub Worksheet_Change(ByVal adrcel As Range) Range("ClassementA").Select ActiveWorkbook.Worksheets("Poules").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Poules").Sort.SortFields.Add Key:=Range("PtsA"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Poules").Sort.SortFields.Add Key:=Range("DiffA"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Poules").Sort.SortFields.Add Key:=Range("BpA"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Poules").Sort.SortFields.Add Key:=Range("GA"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Poules").Sort .SetRange Range("ClassementA") .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
Pour le 2ème point, il serait souhaitable que vous mettiez quelques exemples avec le résultat attendu, ce serait plus facile pour la compréhension.
Cdlt