Tris rapides et ligne de titre

tototiti2008

XLDnaute Barbatruc
Bonjour à toutes et tous,

Une question, somme toute très bête, est-il possible de préciser quelque part si avec les boutons de tris rapides (AZ et ZA de la barre d'outils) il y a une ligne de titre à la liste ou pas ?
J'ai été confronté au problème avec une liste et une ligne de titre et les tris rapides me la déplaçaient automatiquement
J'ai fait un Tri par Données-Trier, précisé qu'il y avait une ligne de titre, validé, mais après ça mes tris rapides ne prennent toujours pas la première ligne comme une ligne de titre
J'ai fini par trouver une solution de contournement (qui ne fonctionne que pour la version 2003 d'ailleurs) mais c'est vraiment tordu donc si une astuce simple existe...

Merci de m'avoir lu :)

Edit : Un fichier exemple pour illustrer ;)
 

Pièces jointes

  • Classeur1.xls
    17 KB · Affichages: 41
  • Classeur1.xls
    17 KB · Affichages: 54
  • Classeur1.xls
    17 KB · Affichages: 53
Dernière édition:

ralph45

XLDnaute Impliqué
Re : Tris rapides et ligne de titre

Bonjour tototiti2008,

Il me semble - que lorsque la notion de filtre est mise dans les colonnes - qu'Excel reconnaisse tes champs de titres lorsque tu procèdes à des tris en passant par les boutons AZ ou ZA...

EDIT : J'ai procédé à un test sous 2007 avec un fichier relativement simple et cela fonctionne...
EDIT 2: J'ai procédé à un test sous 2007 avec ton fichier et cela fonctionne... :p
A+
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Tris rapides et ligne de titre

Bonjour ralph :), Bonjour piga :),

Merci de vos réponses
@piga : oui mais en XL 2003 ? content que Microsoft ait apporté cette amélioration :)
@ralph : pas facile à reproduire car ça dépend un peu des données et de la façon dont elles ont été saisies
Si par exemple (méthode de saisie peu orthodoxe j'en conviens) tu saisis une ligne de données, tu insères une ligne au-dessus, tu saisis encore dans la 1ère ligne, tu insères une ligne au-dessus et tu saisis ta ligne de titre, les boutons de tris rapides considèrent qu'il n'y a pas de ligne de titre, et même le filtre automatique n'y change rien chez moi en 2003
 

MJ13

XLDnaute Barbatruc
Re : Tris rapides et ligne de titre

Bonjour à tous

Voici un fichier fait sur XL2007 pour trier en fonction d'où on se trouve. C'est clair que cela devient complexe les tri avec Excel :confused:.

Code:
Sub Tri_Ascendant()
Derl = ActiveSheet.Rows.Count
Derc = ActiveSheet.Columns.Count
'RefTableau = Range(Cells(2, 1), Cells(Derl, Derc)).Address
RefTableau = Range(Cells(ActiveCell.Row, 1), Cells(Derl, Derc)).Address
ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort.SortFields.Clear
    ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort.SortFields.Add Key:=Range(ActiveCell.Address) _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortTextAsNumbers
    With ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort
        .SetRange Range(RefTableau)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
Sub Tri_Descendant()
Derl = ActiveSheet.Rows.Count
Derc = ActiveSheet.Columns.Count
'RefTableau = Range(Cells(2, 1), Cells(Derl, Derc)).Address
RefTableau = Range(Cells(ActiveCell.Row, 1), Cells(Derl, Derc)).Address
ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort.SortFields.Clear
    ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort.SortFields.Add Key:=Range(ActiveCell.Address) _
        , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortTextAsNumbers
    With ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort
        .SetRange Range(RefTableau)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
 

Pièces jointes

  • TriRapideTototiti.xls
    64.5 KB · Affichages: 38

tototiti2008

XLDnaute Barbatruc
Re : Tris rapides et ligne de titre

Bonjour Michel, Bonjour à tous,

Désolé pour la réponse tardive
Merci de ta proposition mais ça ne tourne pas en 2003, il n'aime pas la ligne

Code:
ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort.SortFields.Clear

J'ai essayé en VBA et un code du genre

Code:
Sub Tri_Ascendant()
    ActiveCell.CurrentRegion.Sort Key1:=ActiveCell, Order1:=xlAscending, header:=xlYes
End Sub
Sub Tri_Descendant()
    ActiveCell.CurrentRegion.Sort Key1:=ActiveCell, Order1:=xlDescending, header:=xlYes
End Sub

Semble fonctionner correctement, à première vue :)
 

MJ13

XLDnaute Barbatruc
Re : Tris rapides et ligne de titre

Bonjour à tous

Code:
Sub Tri_Ascendant()
    ActiveCell.CurrentRegion.Sort Key1:=ActiveCell, Order1:=xlAscending, header:=xlYes
End Sub
Sub Tri_Descendant()
    ActiveCell.CurrentRegion.Sort Key1:=ActiveCell, Order1:=xlDescending, header:=xlYes
End Sub

Merci Tototiti pour ce code qui semble fonctionner sur XL2007 et qui est très explicite. Comme quoi, dès fois, les codes les plus simple sont souvent les meilleurs :rolleyes:.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87