Tri alphabétique

hoerwind

XLDnaute Barbatruc
Bonjour,

Jusqu'à ce jour il me semblait que le tri d'une plage alphabétique s'effectuait sur base du code des lettres.
C'est faux, Excel ne fait pas la différence en les majuscules et les minuscules, même en cochant "Respecter la casse" sous les Options.

Une façon d'y parvenir est de créer une liste personnalisée (menu Outils - Options - Listes pers.) : A,B,C ... (tout l'alphabet en majuscules), puis de trier en choisissant cette liste sous les options du tri.

Double problème :
- c'est fastidieux lorsqu'il qu'il faut souvent trier.
- cette liste personnalisée n'est pas liée au fichier, donc non transmise lors d'un transfert de ce fichier sur un autre PC.

Quelqu'un aurait-il une solution sans passer par une macro ?
 

JNP

XLDnaute Barbatruc
Re : Tri alphabétique

Re :),
Je confirme se fait sous XL 2003...
Avec mon XL 2003 à moi... qui doit être comme la plupart des XL 2003 FR...
Je te crois, Jean-Claude ;), et j'ai l'impression que les listes de tri ont été fortement modifiées entre 2003 et 2007 :eek:.
Pour preuve, comme Jean-Pierre le disait (et il me semble qu'il est sous 2007 aussi), les listes de tri de 2003 disparaissent en 2007, en tout cas aussi chez moi. De même, il a trouvé des listes qu'il n'avait pas créé, et j'ai pu voir que 2007 enregistrait les listes en permanence (la liste test du début que j'avais faite avec juste A,B,C,a,b,c apparait dans le dernier fichier d'Hoerwind). Enfin, à l'enregistrement, 2007 me prévient d'une perte de compatibilité en XLS avec perte de la liste créée via la macro de JC :confused:...
Par contre, avec le nouveau fichier, dont j'ai un peu mélangé la liste car elle était pré triée sur des ensembles de caractère (j'ai mis ACAB avant ACAA par exemple), le seul double tri (par code en premier niveau, A-Z en 2ème niveau) permet d'obtenir le résultat escompté grace au fait que c'est tout maj ou tout min.
Je vous ai mis les différents résultats obtenus en pièce jointe.
Bonne fin d'après-midi :cool:
 

Pièces jointes

  • TriAlphabétiqueV2(1).xls
    37 KB · Affichages: 63

CISCO

XLDnaute Barbatruc
Re : Tri alphabétique

Bonjour

Presqu'avec la même méthode que dans mon précédent post, une possibilité en pièce jointe.

Toutefois, il faut vérifier, et peut être modifier les /100, /10^4, /10^6, /10^8 par autre chose, car il y aura peut être des chevauchements source d'erreur.

Exemple : dans la liste que tu proposes, où doit se placer Az ?

@ plus
 

Pièces jointes

  • TriAlphabétiqueV2(2).xls
    31 KB · Affichages: 58
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Tri alphabétique

Re :),
Alors là, Cisco, superbe formule ;).
Chapeau bas. J'ai cherché un peu pourquoi tu utilisais la colonne C
Code:
LIGNES(C$1:C11)
puis j'ai compris que c'était une méthode originale d'incrémenter pour les glisser vers le bas.
Très franchement admiratif :).
A + :cool:
 

hoerwind

XLDnaute Barbatruc
Re : Tri alphabétique

Bonjour à vous tous,

Merci pour toutes vos superbes solutions, mais aucune d'entre elles me convient.
Je souhaite que le tri se fasse dans la même colonne, sans colonne intermédiaire.

Il s'agit d'une base de données, comme précisé sous un de mes messages précédents, sur une quinzaine de colonnes qui doivent être triées en même temps.
A cette base s'ajoutent régulièrement de nouvelles données que je souhaite saisir dans le bas du tableau et trier ensuite.

Comme il me semble qu'il n'y a pas de solution, je vais chercher une autre méthode d'encodage, par exemple remplacer les premières lettres par deux chiffres, de 01 à 50 pour les majuscules et de 51 à 99 pour les minuscules.
Je fais quelques tests et vous tiens au courant du résultat, à moins que vous ayez une autre idée.
 

david84

XLDnaute Barbatruc
Re : Tri alphabétique

Re,
ci-joint une proposition basée sur une petite adaptation de la formule initiale fournie par Cisco.
Les résultats semblent concorder mais à vérifier.
 

Pièces jointes

  • TriAlphabétique_Hoerwind.xls
    23.5 KB · Affichages: 65

hoerwind

XLDnaute Barbatruc
Re : Tri alphabétique

Bonsoir,

Je ne comprends votre obstination à vouloir trier par formule dans une autre colonne.

Pour récupérer les valeurs des quatorze autres colonnes il faut nécessairement des formules.
Pour 1000 lignes : 14*1000 = 14000 formules (RECHERCHEV) + 1000 formules matricielles pour le tri.
Cela se passe de commentaires !

Je préfère alors créer une colonne supplémentaire masquée (la A sous l'exemple joint) qui contient la petite formule : = CODE(B2)
Sélectionner le tableau : sélectionner une cellule quelconque en colonne B, puis Ctrl+* (dans l'exemple réel les seize colonnes sont sélectionnées)
Cliquer sur l'icône de tri (A/Z - tri croissant) dans la barre d'outils.
Le tri s'opère tel que je le désire.

Cela me semble beaucoup plus simple.
 

Pièces jointes

  • TriAlphabétiqueV4.xls
    38.5 KB · Affichages: 48

david84

XLDnaute Barbatruc
Re : Tri alphabétique

Re,
alors là Hoerwind, je ne te suis plus :suite à ta demande, je te fournis un 1er exemple en m'appuyant sur les codes et tu me dis que tu veux trouver une formule te permettant d'obtenir le tri désiré directement.
Je te fournis un 2ème exemple répondant à ta demande ( en tout cas à l'exemple que tu nous fournis) et là tu nous dis que tu préfères passer par une colonne contenant les codes... libre à toi mais j'aimerais simplement comprendre par curiosité en quoi la réponse fournie dans mon dernier fichier ne te convient pas alors qu'elle semble donner les résultats escomptés par rapport à l'exemple que tu nous as communiqué, et ce sans colonne intermédiaire ?
Ou alors je n'ai rien compris (ce qui est fort possible !)...
Cordialement
 
Dernière édition:

david84

XLDnaute Barbatruc
Re : Tri alphabétique

Bonjour,
a noter une variante plus courte (et à mon sens plus simple) de la formule utilisée dans mon dernier fichier et donnant également le résultat attendu :
=INDEX($A$2:$A$27;EQUIV(PETITE.VALEUR((CODE($A$2:$A$27)&(NB.SI($A$2:$A$27;"<"&$A$2:$A$27)*0,05))*1;LIGNES($1:1));(CODE($A$2:$A$27)&(NB.SI($A$2:$A$27;"<"&$A$2:$A$27)*0,05))*1;0))

Encore merci à Cisco pour la communication de la formule initiale.
Cordialement
 

CISCO

XLDnaute Barbatruc
Re : Tri alphabétique

Bonjour à tpus

David84, j'ai l'impression que tes formules ne fonctionnent pas correctement, puisqu'elles ne font pas le distingo entre majuscule et minuscule à partir de la 2nde lettre (cf ci dessous avec AaAA qui disparait de la liste avec tes formules). Par contre, le passage par EQUIV est une bonne idée...

Ceci dit, et puisqu'Hoerwind veut absolument une modification sur place, juste pour le fun, un mélange de ta proposition, et de la mienne, faisant, il me semble le boulot, mais sur une colonne intermédiaire, et avec une précaution (-64 par exemple) pour éliminer les risques de chevauchement.

@ plus
 

Pièces jointes

  • TriAlphabétiqueV2(4).zip
    6.3 KB · Affichages: 22
  • TriAlphabétique_Hoerwind(1)David84.zip
    5.9 KB · Affichages: 21

CISCO

XLDnaute Barbatruc
Re : Tri alphabétique

Re,
alors là Hoerwind, je ne te suis plus ...
Cordialement

@ David84
Te faches pas david84, te fâches pas...

Avec nos formules, Hoerwind doit demander à excel de faire beaucoup, beaucoup de calculs matriciels... d'où la seconde possibilité qu'il pense utiliser : Créer une, et une seule colonne intermédiaire, et faire le tri en l'utilisant comme critère. Avec nos formules, les calculs intermédiaires sont faits dans la formule, toute la liste, dans chacune des cellules... Ca fait beaucoup.

@ Hoerwind
Si tu utilises une colonne intermédiaire, il te faudra y mettre quelque chose du style
Code:
CODE(A2)+SI(NBCAR(A2)>1;(CODE(STXT(A2;2;1))-64)/10^2;0)+SI(NBCAR(A2)>2;(CODE(STXT(A2;3;1))-64)/10^4;0)+SI(NBCAR(A2)>3;(CODE(STXT(A2;4;1))-64)/10^6)

et non simplement
Code:
CODE(A2)
si tu veux faire la différence entre minuscule et majuscule pour toutes les lettres des références, et pas seulement pour la première.

@ plus
 
Dernière édition:

david84

XLDnaute Barbatruc
Re : Tri alphabétique

Re,
:)je ne suis pas fâché Cisco, je cherche simplement à comprendre... et je peux comprendre que les formules proposées ne font pas l'affaire d'Hoerwind, pas de soucis là-dessus.
Pour en revenir la formule proposée, je ne prétends pas qu'elle fonctionne dans tous les cas, je dis seulement qu'elle répond à l'exemple présenté.
Après, si l'exemple varie, soit on peut l'adapter, soit on l'oublie.
Je regarde tes propositions dès possible.
En tout cas le sujet est intéressant.
A+
 

david84

XLDnaute Barbatruc
Re : Tri alphabétique

Re,
effectivement Cisco, ma formule ne prends pas en compte la nouvelle donne, à savoir AaAA par exemple. On pourrait éventuellement l'adapter en utilisant nbcar, mais cela n'apporterait rien de plus que ta proposition qui elle, intègre l'éventualité d'avoir des majuscules et des minuscules mélangées.
Donc adoptée !
 

Discussions similaires

Réponses
2
Affichages
802

Membres actuellement en ligne

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 763
dernier inscrit
p.michaux