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 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.
 
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. 🙄
@Caninge, essayez celui là.
 

Pièces jointes

Bonjour à tous,
Le mystère restera à jamais. 🙄
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+
 
Bonsoir Job,
Le bon fichier est le dernier, celui du post #21.
et les events sont bloqués au niveau du Worksheet_Change :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    TriAlpha
    Application.EnableEvents = True
End Sub
 
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:
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
 
- 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