(Resolu) Tri de trois colonnes

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 !

riton00

XLDnaute Impliqué
Bonjour à tous

Je cherche à faire un tri automatique croissant de 3 colonnes distinctes a,b,c, par une macro Worksheet.
Exemple dans la première colonne (A) j'ai les noms, dans la deuxième colonne (B) j'ai les prénoms et dans la troisième colonne (C) j'ai un code, au moment du tri il faut que ces trois colonnes soient liées pour ne pas séparer les noms, prénoms,et code et le tri devraient s'effectuer automatiquement après avoir taper le code.

Merci de votre aide, je n'ai pas trouvé mon bonheur sur le forum et pourtant j'en ai passé du temps, ou alors je n'ai pas posé la bonne question pour une réponse positive

Cordialement

Riton00
 
Dernière édition:
Re : Tri de trois colonnes

Bonjour,

essaye ceci, à placer dans le module de la feuille concernée :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Count = 1 Then Range("A1").CurrentRegion.Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlYes, Orientation:=xlTopToBottom
End Sub

bon après midi
@+
 
Re : Tri de trois colonnes

Bonsoir à tous

Merci Pierrot93 de ton implication, mais en fait je pense que je me suis mal exprimer ou alors ma question à été mal interprété, en tout les cas ta macro fonctionne mais le seul hic c'est que le tri croissant doit se faire par le nom et pas par le code comme actuellement, par contre le top départ du tri s’effectue après avoir valider le code

Merci

Salutation
 
Re : Tri de trois colonnes

Bonjour,

tu peux mettre une concaténation en colonne D (=a2&b2&c2)pour que tout soit lié et trier sur celle ci; ceci dit, quand on clique sur une cellule de la colonne C, et que l'on clique ensuite sur A-Z pour le tri croissant , si les colonnes sont contigues et ont un titre , ça trie correctement...
Ou alors je n'ai pas encore compris, ce qui m'arrive souvent 😉
 
Re : Tri de trois colonnes

Bonjour,

eul hic c'est que le tri croissant doit se faire par le nom et pas par le code

bah... change la clé de C1 à A1....

Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Count = 1 Then Range("A1").CurrentRegion.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes, Orientation:=xlTopToBottom
End Sub

bonne journée
@+
 
Re : Tri de trois colonnes

Bonjour à tous

Merci gosselien et Pierrot93 pour votre investissement mais en fait Pierrot93 ta macro ne fonctionne plus, quand il y a une ligne vide 😕
Du coup j'ai réussi à trouver une autre macro qui fonctionne selon mes critères, je la met en ligne au cas ou quelqu'un serait éventuellement intéressée 😀

Private Sub Worksheet_Change(ByVal Target As Range)
Dim DerLig As Long
If Target.Count > 1 Then Exit Sub
If Target.Column = 3 Then
DerLig = Range("A" & Rows.Count).End(xlUp).Row
Range("A1:C" & DerLig).Sort Range("A1"), xlAscending
End If
End Sub


Bonne Journée

Riton00
 
- 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
3
Affichages
335
Réponses
7
Affichages
1 K
Réponses
1
Affichages
2 K
Retour