J'ai voulu faire une fonction simple à laquelle on passe 2 strings et qui retourne -1, 0 ou +1 selon que s1<s2, s1=s2 ou s1>s2, et ceci selon l'ordre strict ASCII.
Le tri des dlist, tout comme le tri de l'utilitaire SORT de Dos, des colonnes de l'explorateur de fichiers etc, se faitr selon une "collation" dépendant de la localisation de la machine (langue principale, langue secondaire) qui sont Français toutes les deux pour les machines en France. Or, dans ce cas, l'ordre des tris est:
caractères spéciaux dont "_" < chiffres < lettres
Et dans les lettres, on mélange minuscules, majuscules et lettres accentuées, de sorte que par exemple, (e,E,é,ê,Ê,...)sour regroupés ensemble, après les d et devant les f. De plus, 003A passe après 013A, car on évalue la valeur numérique de sorte que 003 = 3 et 013 à 13, et 3 < 13 !
Ma vieille fonction ComparsStr de la sll STRINGS.dll fonctionne comme ça, si c'est sûrement la routine que tu cherches. La nouvelle routine fait la comparaison selon le vrai ordre ASCII.