XL 2019 Trier les mots d'une colonne après le petit trait.

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

Caninge

XLDnaute Accro
Bonjour à tous amis excelliens et excelliens,

j'arrive à trier facilement les codes postaux avec les communes (colonne E) mais comment faire
pour trier les communes dans l'ordre alphabétique (Colonne G) en oubliant les codes postaux.
Comme dans l'exemple que j'envoie en pièce jointe.
Est-ce possible que quand je rajoute un mot à la fin de la liste, cette dernière se trie immédiatement !
J'ai cherché mais rien trouvé de probant.
Pouvez m'aider. Merci !
CANINGE
 

Pièces jointes

Bonsoir à tous,

Pour le fun, une méthode assez rapide qui allie les array et les tri via Excel.
Le code est dans le module de la feuille 1. Il se déclenche quand on modifie une cellule ou des cellules dans la colonne E à partir de la ligne 4.

nota : la v2 en profite pour ajouter un 0 devant les codes postaux à 4 chiffres au lieu des 5 chiffres attendus.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim derlig&, t, i&, ech As Boolean, aux, deb

   deb = Timer
   If Intersect(Target, Range("e4:e" & Rows.Count)) Is Nothing Then Exit Sub
   On Error GoTo FIN: Application.EnableEvents = False
   If Me.FilterMode Then Me.ShowAllData
   derlig = Cells(Rows.Count, 5).End(xlUp).Row
   t = Range(Cells(4, 5), Cells(derlig, 5)).Value
   For i = 1 To UBound(t): t(i, 1) = Mid(t(i, 1), InStr(t(i, 1), "-") + 1) & "\" & IIf(Not Mid(t(i, 1), 5, 1) Like "#", "0", "") & t(i, 1): Next
   Range(Cells(4, 5), Cells(derlig, 5)) = t
   Range(Cells(4, 5), Cells(derlig, 5)).Sort Cells(4, 5), xlAscending, MatchCase:=False, Header:=xlNo
   t = Range(Cells(4, 5), Cells(derlig, 5)).Value
   For i = 1 To UBound(t): t(i, 1) = Mid(t(i, 1), InStr(t(i, 1), "\") + 1, 999): Next
   Range(Cells(4, 5), Cells(derlig, 5)) = t
FIN:
   Application.EnableEvents = True
   MsgBox Format(Timer - deb, "0.000\ sec.")
End Sub
 

Pièces jointes

Dernière édition:
Bonsoir à tous,
bonsoir mapomme
J'ai téléchargé le fichier. Apparemment c'est bien et cela fonctionne.
C'est rigolo le temps qui s'affiche à la fin. Moi qui pensais que mon ordinateur n'était pas rapide.
J'ai rajouté deux autres colonnes dans le fichier. Est-ce possible de trier ces deux dernières de la même
façon. Je me doute que oui. J'ai essayé en faisant un copier-coller et en modifiant les lignes. Bien entendu je me suis planté. Pouvez-vous m'aider s'il vous plait ?
Merci
 

Pièces jointes

Bonsoir à tous,
J'ai retrouvé un code utilisé dans un autre fichier pour trier les colonnes G et I.
automatiquement après avoir écrit un nom à la dernière ligne.
Mais comme il y l'autre code qui trie la colonne E, cela provoque un Bug.
J'y suis presque arrivé...
un petit rien sans doute.
Merci de me dépanner..
 

Pièces jointes

- 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
Retour