Bonjour,
Quand je veux trier des nombres dans un tableau dans l'ordre croissant ou
décroissant en utilisant le séparateur de milliers (format(MesNombres,
"##,##0.00 ?")), le résultat est faux.
Ex : je veux trier dans l'orde croissant 1 817,00 ? , 235,00 ? et 890,00
?,
il m'affiche 1 817,00 ?, 235,00 ? et 890,00 ? (en fait il ne retient que
le 1
de 1 817 et considère donc que c'est le plus petit nombre).
Par contre si je n'utilise pas le séparateur de millier, le résultat est
correct.
Je n'ai constaté ce problème qu'hier et je ne peux pas dire si ça vient de
Windows XP ou de l'installation du SP2 mais je peux dire qu'avant XP,
j'avais
Millenium et ça marchait très bien.
Si quelqu'un à la réponse à ce mystère...
Merci d'avance
Bonjour,
Quand je veux trier des nombres dans un tableau dans l'ordre croissant ou
décroissant en utilisant le séparateur de milliers (format(MesNombres,
"##,##0.00 ?")), le résultat est faux.
Ex : je veux trier dans l'orde croissant 1 817,00 ? , 235,00 ? et 890,00
?,
il m'affiche 1 817,00 ?, 235,00 ? et 890,00 ? (en fait il ne retient que
le 1
de 1 817 et considère donc que c'est le plus petit nombre).
Par contre si je n'utilise pas le séparateur de millier, le résultat est
correct.
Je n'ai constaté ce problème qu'hier et je ne peux pas dire si ça vient de
Windows XP ou de l'installation du SP2 mais je peux dire qu'avant XP,
j'avais
Millenium et ça marchait très bien.
Si quelqu'un à la réponse à ce mystère...
Merci d'avance
Bonjour,
Quand je veux trier des nombres dans un tableau dans l'ordre croissant ou
décroissant en utilisant le séparateur de milliers (format(MesNombres,
"##,##0.00 ?")), le résultat est faux.
Ex : je veux trier dans l'orde croissant 1 817,00 ? , 235,00 ? et 890,00
?,
il m'affiche 1 817,00 ?, 235,00 ? et 890,00 ? (en fait il ne retient que
le 1
de 1 817 et considère donc que c'est le plus petit nombre).
Par contre si je n'utilise pas le séparateur de millier, le résultat est
correct.
Je n'ai constaté ce problème qu'hier et je ne peux pas dire si ça vient de
Windows XP ou de l'installation du SP2 mais je peux dire qu'avant XP,
j'avais
Millenium et ça marchait très bien.
Si quelqu'un à la réponse à ce mystère...
Merci d'avance
Non, il considère que ce sont des chaînes de caractères et les trie selon
l'ordre lexicographique (comme les mots d'un dictionnaire), ainsi tu
remarqueras que 1 817,00 ? sera avant 182,00 ?
Il faut définir le format des cellules en monétaire pour que cela marche.
La fonction format transforme des nombres en chaïne (c'est un format
d'écriture).
"Denis" a écrit dans le message de news:
> Bonjour,
>
> Quand je veux trier des nombres dans un tableau dans l'ordre croissant ou
> décroissant en utilisant le séparateur de milliers (format(MesNombres,
> "##,##0.00 ?")), le résultat est faux.
> Ex : je veux trier dans l'orde croissant 1 817,00 ? , 235,00 ? et 890,00
> ?,
> il m'affiche 1 817,00 ?, 235,00 ? et 890,00 ? (en fait il ne retient que
> le 1
> de 1 817 et considère donc que c'est le plus petit nombre).
> Par contre si je n'utilise pas le séparateur de millier, le résultat est
> correct.
> Je n'ai constaté ce problème qu'hier et je ne peux pas dire si ça vient de
> Windows XP ou de l'installation du SP2 mais je peux dire qu'avant XP,
> j'avais
> Millenium et ça marchait très bien.
> Si quelqu'un à la réponse à ce mystère...
> Merci d'avance
Non, il considère que ce sont des chaînes de caractères et les trie selon
l'ordre lexicographique (comme les mots d'un dictionnaire), ainsi tu
remarqueras que 1 817,00 ? sera avant 182,00 ?
Il faut définir le format des cellules en monétaire pour que cela marche.
La fonction format transforme des nombres en chaïne (c'est un format
d'écriture).
"Denis" <Denis@discussions.microsoft.com> a écrit dans le message de news:
FD151590-A1C8-407B-BC9F-B19EA4D864DD@microsoft.com...
> Bonjour,
>
> Quand je veux trier des nombres dans un tableau dans l'ordre croissant ou
> décroissant en utilisant le séparateur de milliers (format(MesNombres,
> "##,##0.00 ?")), le résultat est faux.
> Ex : je veux trier dans l'orde croissant 1 817,00 ? , 235,00 ? et 890,00
> ?,
> il m'affiche 1 817,00 ?, 235,00 ? et 890,00 ? (en fait il ne retient que
> le 1
> de 1 817 et considère donc que c'est le plus petit nombre).
> Par contre si je n'utilise pas le séparateur de millier, le résultat est
> correct.
> Je n'ai constaté ce problème qu'hier et je ne peux pas dire si ça vient de
> Windows XP ou de l'installation du SP2 mais je peux dire qu'avant XP,
> j'avais
> Millenium et ça marchait très bien.
> Si quelqu'un à la réponse à ce mystère...
> Merci d'avance
Non, il considère que ce sont des chaînes de caractères et les trie selon
l'ordre lexicographique (comme les mots d'un dictionnaire), ainsi tu
remarqueras que 1 817,00 ? sera avant 182,00 ?
Il faut définir le format des cellules en monétaire pour que cela marche.
La fonction format transforme des nombres en chaïne (c'est un format
d'écriture).
"Denis" a écrit dans le message de news:
> Bonjour,
>
> Quand je veux trier des nombres dans un tableau dans l'ordre croissant ou
> décroissant en utilisant le séparateur de milliers (format(MesNombres,
> "##,##0.00 ?")), le résultat est faux.
> Ex : je veux trier dans l'orde croissant 1 817,00 ? , 235,00 ? et 890,00
> ?,
> il m'affiche 1 817,00 ?, 235,00 ? et 890,00 ? (en fait il ne retient que
> le 1
> de 1 817 et considère donc que c'est le plus petit nombre).
> Par contre si je n'utilise pas le séparateur de millier, le résultat est
> correct.
> Je n'ai constaté ce problème qu'hier et je ne peux pas dire si ça vient de
> Windows XP ou de l'installation du SP2 mais je peux dire qu'avant XP,
> j'avais
> Millenium et ça marchait très bien.
> Si quelqu'un à la réponse à ce mystère...
> Merci d'avance
Et tu fais comment pour définir le format des cellules en monétaire ?
Je rempli le flexgrid avec des données écrites dans un fichier.
Ces données sont déjà formatées, les euros je les défini en currency pour
les écrire dans le fichier donc après quand je les relis pour les faire
afficher dans le flexgrid, ce sont bien des données monétaires, non ?
"Patrice Henrio" a écrit :Non, il considère que ce sont des chaînes de caractères et les trie selon
l'ordre lexicographique (comme les mots d'un dictionnaire), ainsi tu
remarqueras que 1 817,00 ? sera avant 182,00 ?
Il faut définir le format des cellules en monétaire pour que cela marche.
La fonction format transforme des nombres en chaïne (c'est un format
d'écriture).
"Denis" a écrit dans le message de
news:
> Bonjour,
>
> Quand je veux trier des nombres dans un tableau dans l'ordre croissant
> ou
> décroissant en utilisant le séparateur de milliers (format(MesNombres,
> "##,##0.00 ?")), le résultat est faux.
> Ex : je veux trier dans l'orde croissant 1 817,00 ? , 235,00 ? et
> 890,00
> ?,
> il m'affiche 1 817,00 ?, 235,00 ? et 890,00 ? (en fait il ne retient
> que
> le 1
> de 1 817 et considère donc que c'est le plus petit nombre).
> Par contre si je n'utilise pas le séparateur de millier, le résultat
> est
> correct.
> Je n'ai constaté ce problème qu'hier et je ne peux pas dire si ça vient
> de
> Windows XP ou de l'installation du SP2 mais je peux dire qu'avant XP,
> j'avais
> Millenium et ça marchait très bien.
> Si quelqu'un à la réponse à ce mystère...
> Merci d'avance
Et tu fais comment pour définir le format des cellules en monétaire ?
Je rempli le flexgrid avec des données écrites dans un fichier.
Ces données sont déjà formatées, les euros je les défini en currency pour
les écrire dans le fichier donc après quand je les relis pour les faire
afficher dans le flexgrid, ce sont bien des données monétaires, non ?
"Patrice Henrio" a écrit :
Non, il considère que ce sont des chaînes de caractères et les trie selon
l'ordre lexicographique (comme les mots d'un dictionnaire), ainsi tu
remarqueras que 1 817,00 ? sera avant 182,00 ?
Il faut définir le format des cellules en monétaire pour que cela marche.
La fonction format transforme des nombres en chaïne (c'est un format
d'écriture).
"Denis" <Denis@discussions.microsoft.com> a écrit dans le message de
news:
FD151590-A1C8-407B-BC9F-B19EA4D864DD@microsoft.com...
> Bonjour,
>
> Quand je veux trier des nombres dans un tableau dans l'ordre croissant
> ou
> décroissant en utilisant le séparateur de milliers (format(MesNombres,
> "##,##0.00 ?")), le résultat est faux.
> Ex : je veux trier dans l'orde croissant 1 817,00 ? , 235,00 ? et
> 890,00
> ?,
> il m'affiche 1 817,00 ?, 235,00 ? et 890,00 ? (en fait il ne retient
> que
> le 1
> de 1 817 et considère donc que c'est le plus petit nombre).
> Par contre si je n'utilise pas le séparateur de millier, le résultat
> est
> correct.
> Je n'ai constaté ce problème qu'hier et je ne peux pas dire si ça vient
> de
> Windows XP ou de l'installation du SP2 mais je peux dire qu'avant XP,
> j'avais
> Millenium et ça marchait très bien.
> Si quelqu'un à la réponse à ce mystère...
> Merci d'avance
Et tu fais comment pour définir le format des cellules en monétaire ?
Je rempli le flexgrid avec des données écrites dans un fichier.
Ces données sont déjà formatées, les euros je les défini en currency pour
les écrire dans le fichier donc après quand je les relis pour les faire
afficher dans le flexgrid, ce sont bien des données monétaires, non ?
"Patrice Henrio" a écrit :Non, il considère que ce sont des chaînes de caractères et les trie selon
l'ordre lexicographique (comme les mots d'un dictionnaire), ainsi tu
remarqueras que 1 817,00 ? sera avant 182,00 ?
Il faut définir le format des cellules en monétaire pour que cela marche.
La fonction format transforme des nombres en chaïne (c'est un format
d'écriture).
"Denis" a écrit dans le message de
news:
> Bonjour,
>
> Quand je veux trier des nombres dans un tableau dans l'ordre croissant
> ou
> décroissant en utilisant le séparateur de milliers (format(MesNombres,
> "##,##0.00 ?")), le résultat est faux.
> Ex : je veux trier dans l'orde croissant 1 817,00 ? , 235,00 ? et
> 890,00
> ?,
> il m'affiche 1 817,00 ?, 235,00 ? et 890,00 ? (en fait il ne retient
> que
> le 1
> de 1 817 et considère donc que c'est le plus petit nombre).
> Par contre si je n'utilise pas le séparateur de millier, le résultat
> est
> correct.
> Je n'ai constaté ce problème qu'hier et je ne peux pas dire si ça vient
> de
> Windows XP ou de l'installation du SP2 mais je peux dire qu'avant XP,
> j'avais
> Millenium et ça marchait très bien.
> Si quelqu'un à la réponse à ce mystère...
> Merci d'avance
Malheureusement pas nécessairement et j'ai eu souvent le problème avec Excel
Le plus souvent je devais rajouter une colonne contenant la formule
Val(LC(-1))
Parfois je m'aperçois que les données sont écrites sous la forme '1253 au
lieu de 1253 ce qui transforme le nombre en chaîne.
de plus il se peut que le séparateur décimal ne soit pas compatible et
transforme les valeurs numériques en chaîne ... etc
Tout ce que je peux te dire c'est que visiblement dans ton exemple, Excell
ne trie pas dans l'ordre naturel mais dans l'ordre lexicographique.
0 = a
1 = b
2 = c
3 = d
5 = e
7 = f
8 = g
9 = h
1817 = "bgbf"
235 = "cde"
890 = "gha"
Dans le dictionnaire on aura "bgbf" avant "cde" avant "gha"
soit 1817 < 235 < 890
"Denis" a écrit dans le message de news:
> Et tu fais comment pour définir le format des cellules en monétaire ?
> Je rempli le flexgrid avec des données écrites dans un fichier.
> Ces données sont déjà formatées, les euros je les défini en currency pour
> les écrire dans le fichier donc après quand je les relis pour les faire
> afficher dans le flexgrid, ce sont bien des données monétaires, non ?
>
> "Patrice Henrio" a écrit :
>
>> Non, il considère que ce sont des chaînes de caractères et les trie selon
>> l'ordre lexicographique (comme les mots d'un dictionnaire), ainsi tu
>> remarqueras que 1 817,00 ? sera avant 182,00 ?
>> Il faut définir le format des cellules en monétaire pour que cela marche.
>> La fonction format transforme des nombres en chaïne (c'est un format
>> d'écriture).
>> "Denis" a écrit dans le message de
>> news:
>>
>> > Bonjour,
>> >
>> > Quand je veux trier des nombres dans un tableau dans l'ordre croissant
>> > ou
>> > décroissant en utilisant le séparateur de milliers (format(MesNombres,
>> > "##,##0.00 ?")), le résultat est faux.
>> > Ex : je veux trier dans l'orde croissant 1 817,00 ? , 235,00 ? et
>> > 890,00
>> > ?,
>> > il m'affiche 1 817,00 ?, 235,00 ? et 890,00 ? (en fait il ne retient
>> > que
>> > le 1
>> > de 1 817 et considère donc que c'est le plus petit nombre).
>> > Par contre si je n'utilise pas le séparateur de millier, le résultat
>> > est
>> > correct.
>> > Je n'ai constaté ce problème qu'hier et je ne peux pas dire si ça vient
>> > de
>> > Windows XP ou de l'installation du SP2 mais je peux dire qu'avant XP,
>> > j'avais
>> > Millenium et ça marchait très bien.
>> > Si quelqu'un à la réponse à ce mystère...
>> > Merci d'avance
>>
>>
>>
Malheureusement pas nécessairement et j'ai eu souvent le problème avec Excel
Le plus souvent je devais rajouter une colonne contenant la formule
Val(LC(-1))
Parfois je m'aperçois que les données sont écrites sous la forme '1253 au
lieu de 1253 ce qui transforme le nombre en chaîne.
de plus il se peut que le séparateur décimal ne soit pas compatible et
transforme les valeurs numériques en chaîne ... etc
Tout ce que je peux te dire c'est que visiblement dans ton exemple, Excell
ne trie pas dans l'ordre naturel mais dans l'ordre lexicographique.
0 = a
1 = b
2 = c
3 = d
5 = e
7 = f
8 = g
9 = h
1817 = "bgbf"
235 = "cde"
890 = "gha"
Dans le dictionnaire on aura "bgbf" avant "cde" avant "gha"
soit 1817 < 235 < 890
"Denis" <Denis@discussions.microsoft.com> a écrit dans le message de news:
419DB307-2626-4010-9B76-8D1189B019F7@microsoft.com...
> Et tu fais comment pour définir le format des cellules en monétaire ?
> Je rempli le flexgrid avec des données écrites dans un fichier.
> Ces données sont déjà formatées, les euros je les défini en currency pour
> les écrire dans le fichier donc après quand je les relis pour les faire
> afficher dans le flexgrid, ce sont bien des données monétaires, non ?
>
> "Patrice Henrio" a écrit :
>
>> Non, il considère que ce sont des chaînes de caractères et les trie selon
>> l'ordre lexicographique (comme les mots d'un dictionnaire), ainsi tu
>> remarqueras que 1 817,00 ? sera avant 182,00 ?
>> Il faut définir le format des cellules en monétaire pour que cela marche.
>> La fonction format transforme des nombres en chaïne (c'est un format
>> d'écriture).
>> "Denis" <Denis@discussions.microsoft.com> a écrit dans le message de
>> news:
>> FD151590-A1C8-407B-BC9F-B19EA4D864DD@microsoft.com...
>> > Bonjour,
>> >
>> > Quand je veux trier des nombres dans un tableau dans l'ordre croissant
>> > ou
>> > décroissant en utilisant le séparateur de milliers (format(MesNombres,
>> > "##,##0.00 ?")), le résultat est faux.
>> > Ex : je veux trier dans l'orde croissant 1 817,00 ? , 235,00 ? et
>> > 890,00
>> > ?,
>> > il m'affiche 1 817,00 ?, 235,00 ? et 890,00 ? (en fait il ne retient
>> > que
>> > le 1
>> > de 1 817 et considère donc que c'est le plus petit nombre).
>> > Par contre si je n'utilise pas le séparateur de millier, le résultat
>> > est
>> > correct.
>> > Je n'ai constaté ce problème qu'hier et je ne peux pas dire si ça vient
>> > de
>> > Windows XP ou de l'installation du SP2 mais je peux dire qu'avant XP,
>> > j'avais
>> > Millenium et ça marchait très bien.
>> > Si quelqu'un à la réponse à ce mystère...
>> > Merci d'avance
>>
>>
>>
Malheureusement pas nécessairement et j'ai eu souvent le problème avec Excel
Le plus souvent je devais rajouter une colonne contenant la formule
Val(LC(-1))
Parfois je m'aperçois que les données sont écrites sous la forme '1253 au
lieu de 1253 ce qui transforme le nombre en chaîne.
de plus il se peut que le séparateur décimal ne soit pas compatible et
transforme les valeurs numériques en chaîne ... etc
Tout ce que je peux te dire c'est que visiblement dans ton exemple, Excell
ne trie pas dans l'ordre naturel mais dans l'ordre lexicographique.
0 = a
1 = b
2 = c
3 = d
5 = e
7 = f
8 = g
9 = h
1817 = "bgbf"
235 = "cde"
890 = "gha"
Dans le dictionnaire on aura "bgbf" avant "cde" avant "gha"
soit 1817 < 235 < 890
"Denis" a écrit dans le message de news:
> Et tu fais comment pour définir le format des cellules en monétaire ?
> Je rempli le flexgrid avec des données écrites dans un fichier.
> Ces données sont déjà formatées, les euros je les défini en currency pour
> les écrire dans le fichier donc après quand je les relis pour les faire
> afficher dans le flexgrid, ce sont bien des données monétaires, non ?
>
> "Patrice Henrio" a écrit :
>
>> Non, il considère que ce sont des chaînes de caractères et les trie selon
>> l'ordre lexicographique (comme les mots d'un dictionnaire), ainsi tu
>> remarqueras que 1 817,00 ? sera avant 182,00 ?
>> Il faut définir le format des cellules en monétaire pour que cela marche.
>> La fonction format transforme des nombres en chaïne (c'est un format
>> d'écriture).
>> "Denis" a écrit dans le message de
>> news:
>>
>> > Bonjour,
>> >
>> > Quand je veux trier des nombres dans un tableau dans l'ordre croissant
>> > ou
>> > décroissant en utilisant le séparateur de milliers (format(MesNombres,
>> > "##,##0.00 ?")), le résultat est faux.
>> > Ex : je veux trier dans l'orde croissant 1 817,00 ? , 235,00 ? et
>> > 890,00
>> > ?,
>> > il m'affiche 1 817,00 ?, 235,00 ? et 890,00 ? (en fait il ne retient
>> > que
>> > le 1
>> > de 1 817 et considère donc que c'est le plus petit nombre).
>> > Par contre si je n'utilise pas le séparateur de millier, le résultat
>> > est
>> > correct.
>> > Je n'ai constaté ce problème qu'hier et je ne peux pas dire si ça vient
>> > de
>> > Windows XP ou de l'installation du SP2 mais je peux dire qu'avant XP,
>> > j'avais
>> > Millenium et ça marchait très bien.
>> > Si quelqu'un à la réponse à ce mystère...
>> > Merci d'avance
>>
>>
>>