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

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

  • Trier colonne après le petit trait.xlsx
    9.3 KB · Affichages: 47

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Laurent,
Ma macro de tri TriAlpha marche bien.
Cependant si je l'inclue dans Worksheet_Change pour faire le tri en automatique : ( PJ post #14 )
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    TriAlpha
    Application.EnableEvents = True
End Sub
Alors Caninge a systématiquement une erreur de pile. Et là je suis sec.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Votre code marche. Je l'ai testé.
Mais je voulais comprendre pourquoi le mien marche en macro mais pas en Worksheet_Change.
Le mien aussi, j'avis mis les Application.EnableEvents = False dans le mauvais fichier, j'en avais 5 d'ouverts. :rolleyes:
@Caninge, essayez celui là.
 

Pièces jointes

  • Trier colonne après le petit trait (1) (4) (1) (1) (9) (3).xlsm
    16.6 KB · Affichages: 12

job75

XLDnaute Barbatruc
Bonjour à tous,
Le mystère restera à jamais. :rolleyes:
Dans le fichier du post #14 rien ne neutralise les évènements...

Il y a bouclage sans fin quand cette ligne s'exécute :
VB:
Range("$E$4").Resize(DL - 3, 1) = tablo
Donc écrire :
Code:
Application.EnableEvents = False 'désactive les évènements
Range("E4").Resize(DL - 3) = tablo
Application.EnableEvents = True 'réactive les évènements
A+
 

laurent950

XLDnaute Accro
Re @sylvanu
Lorsqu'une cellule est modifié la Target (Range) contient qu'une valeur (La target = 1 Valeur)
Mais lorsque l'on colle le variable tableau (soit plus de 1 valeur)
la Target (Range) contient l'ensemble de la plage.
Soit : un excès de lancement de ces procédures
le lancements des procédures est systématiquement exécuté, à chaque changement de valeur de valeurs de cette plage et pour chaque cellule.

Avec cette condition, une fois le tableau copié on sort de la sub

Essayer votre Poste #14 avec cette instruction
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count <> 1 Then Exit Sub
    TriAlpha
End Sub
 
Dernière édition:

Caninge

XLDnaute Accro
Bonjour à tous,

J'ai vu que beaucoup se sont attelés à trouver une solution pour résoudre mon problème.
Je pense que j'ai assez de réponses positives et je peux prendre maintenant celle qui me convient.
Je vous remercie bien et je vous dit à bientôt.

CANINGE
 

Caninge

XLDnaute Accro
Bonjour à tous,
je viens d'enlever la feuille de mon classeur.
elle ne fonctionne pas avec le classeur...pourquoi je n'en sais rien.
Pourtant la solution envoyé par sylvanu avec les boutons marchent très bien.
Je ne comprend pas...
Pouvez-vous m'éclairer ?
Merci.
 

Pièces jointes

  • Trier Colonne après le petit trait (5).xlsm
    13.3 KB · Affichages: 4

Statistiques des forums

Discussions
311 732
Messages
2 081 997
Membres
101 861
dernier inscrit
Jerem28630