XL 2010 Tri colonne suivant liste personnalisée

  • Initiateur de la discussion Initiateur de la discussion cp4
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cp4

XLDnaute Barbatruc
Bonjour,

Auriez-vous une astuce pour trier un tableau par rapport à la 1ère colonne qui contient des mois en lettre (du texte)?
Si j'utilise la commande trier (sous excel ou en vba), le tri s'effectue en alphanumérique (aout, avril,decembre, fevrier, janvier, juillet, juin, mai, mars, novembre, octobre, septembre).
Or, je souhaite un tri dans l'ordre des mois (janvier, fevrier, mars, avril, mai, juin juillet, aout, septembre, octobre, novembre, décembre).

Merci par avance.
 
Bonjour à tous


oui c'est vieux comme Hérode Excel
Bonjour Chris😉,

En effet, c'est vieux comme tu dis. Cependant, tu n'as pas dû remarquer que l'orthographe des mois 02 et 12, ne sont pas "orthodoxe" (avec e et non é). C'est pour cela que j'ai demandé une astuce, pour faire respecter l'ordre de tri (qui est en réalité un ordre de classement).

Merci beaucoup.

Bonne journée.

nb: je m'empresse de changer le titre de ma discussion.
 
Rebonjour,

J'ai enregistré une macro pour trier la colonne A suivant une liste personnalisée. Cependant, je n'arrive pas à adapter le code pour une plage variable. Lorsque les références de la plage sont fixes, la macro fonctionne convenablement.
VB:
Option Explicit

Sub Macro2()
Dim plg As Range, Sh As Worksheet

Set Sh = ThisWorkbook.ActiveSheet
Set plg = Sh.Range("A1").CurrentRegion

With Sh
    .Sort.SortFields.Clear
    .Sort.SortFields.Add Key:=Range( _
        "A2:A25"), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
        "janvier,fevrier,mars,avril,mai,juin,juillet,août,septembre,octobre,novembre,decembre" _
        , DataOption:=xlSortNormal
    With .Sort
        .SetRange Range("A1:B25")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply  'plante ici si on remplace Range("A2:B25") par plg
    End With
End With
End Sub

En vous remerciant.

edit: message d'erreur
1632931988458.png
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
977
Réponses
11
Affichages
1 K
Retour