XL 2021 macro pour trier

  • Initiateur de la discussion Initiateur de la discussion clausen
  • 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 !

clausen

XLDnaute Occasionnel
Bonsoir tout le monde

J'aimerais pouvoir trier les colonnes de A b c d e f g

en double-cliquant sur le titre de celle-ci

une fois alphabétique abcd

deuxième clique sur la même colonne zyx

Je ne sais pas si je me suis fait bien comprendre

Je joins le fichier
 

Pièces jointes

Hello
voir PJ
début de solution par macro

1) transformer ton tableau de données en Table Structurée
2) il faut cliquer SUR la ligne d'entete de la Table pour déclencher le tri

le tri ne se fait QUE en ordre croissant
je ne sais pas encore comment déterminer quel ordre "Croissant" ou "décroissant" est déjà appliqué pour utiliser l'autre ordre
 

Pièces jointes

Merci, mais ce n'est pas ce que je cherche. Je ne veux pas de choix dans les colonnes (les petites flèches blanches).

1ᵉʳ clique sur une colonne toute la ligne triée en fonction de cette colonne en ordre croissant
2e clique sur la même colonne toute la ligne triée en mode décroissant
 
et comment as tu fait pour figer la première ligne??

j'ai dans l'idée que tu ne l'as pas fait non plus , mais que quelqu'un l'a fait à ta place.. tu n'as pas cherché à comprendre.. tu ne sais donc toujours pas comment on fait.
et si je te le fais pour 3 lignes.. bah. tu ne saura toujours pas..
menu Affichage / Fractionner / figer les volets

en cherchant 2mn chrono, tu devrais apprendre par toi meme
 
Salut à tous,
En partant du classeur fourni, le code ci-dessous à placer dans le code la feuille ( pour répondre strictement à la demande) .
Je rejoins les remarques de @vgendron, il faut s'évertuer à travailler avec des tables structurées ,
le code ci-dessous est facilement transposable et prendra en plus le coté dynamique en n'ayant plus à modifier Zone et Clés )
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Me.[A3:G3]) Is Nothing Then
        ' Désactiver les mises à jour d'écran pour améliorer la performance
        Application.ScreenUpdating = False
        ' Effacer les filtres éventuels
        Me.AutoFilterMode = False
        rmax = Me.Cells(Me.Rows.Count, 1).End(xlUp).Row
        Set zone = Range("A3:G" & rmax)
        Set clés = Range("C4:C" & rmax)
        With Me.Sort
            Select Case True ' on récupère le sens de tri
            Case .Rng.Address <> zone.Address
            Case .SortFields(1).Key.Address <> clés.Address
            Case Else: SensTri = .SortFields(1).Order
            End Select
            .SortFields.Clear
            .SortFields.Add2 Key:=clés, _
                SortOn:=xlSortOnValues, DataOption:=xlSortNormal, _
                Order:=IIf(SensTri = xlAscending, xlDescending, xlAscending)
            .SetRange zone
            .Header = xlYes: .MatchCase = False
            .Orientation = xlTopToBottom: .SortMethod = xlPinYin
            .Apply
        End With
        ' Réactiver la mise à jour de l'écran
        Application.ScreenUpdating = True
        Cancel = True
    End If

End Sub
 
Notre forum d’entraide est 100 % gratuit et le restera.
Aucune formation payante, aucun fichier à acheter, rien à vendre. Mais comme tout site, nous devons couvrir nos frais pour continuer à vous accompagner.
Soutenez-nous en souscrivant à un compte membre : c’est rapide, vous choisissez simplement votre niveau de soutien et le tour est joué.

Je soutiens la communauté et j’accède à mon compte membre

Discussions similaires

Réponses
5
Affichages
321
Réponses
4
Affichages
453
Réponses
20
Affichages
760
Réponses
5
Affichages
311
Retour