OVH Cloud OVH Cloud

tri selon l'ordre des colonnes [VBA, Excel 2000]

16 réponses
Avatar
J
Bonjour à tous [VBA, Excel 2000]

En colonne A j'ai des adresses de cellules que je veux trier "dans
l'ordre des colonnes puis des lignes"
Comment faire, svp ?

En pratique je n'utilise que 12 colonnes (classées dans un array) :
("k:k,u:u,ae:ae,ao:ao,ay:ay,bi:bi,bs:bs,cc:cc,cm:cm,cw:cw,dg:dg,dq:dq")

exemple :
sans tri tri XL souhaité
pas bon bon
$K$5 $AY$16 $K$5
$AY$5 $AY$17 $K$7
$AY$7 $AY$5 $K$8
$U$8 $AY$7 $K$12
$K$7 $K$12 $U$8
$K$8 $K$5 $AY$5
$K$12 $K$7 $AY$7
$AY$16 $K$8 $AY$16
$AY$17 $U$8 $AY$17

Merci pour l'aide
@+
J@@

6 réponses

1 2
Avatar
michel ou sam
Bonjour,
ce n'est pas un pb d'ordre de grandeur, c'est pour pouvoir trier en priorité
1 sur la colonne puis en priorité 2 sur la ligne

J'avais d'abord fait une autre solution avec un tri sur la ligne suivi d'un
tri sur la colonne mais l'astuce ici c'est de trier sur un seul nombre
représentant en priorité la colonne C puis la ligne L.
Ce nombre est du type = CC0LLL. Le tri prendra donc d'abord en compte les
chiffres à gauche c'est à dire les colonnes
Si le nombre de ligne à trier est très grand, il faudra multiplier le nombre
de colonnes par 100 000 afin d'avoir
CC00000 et pouvoir ensuite ajouter les 65356 lignes éventuelles qui
donneront CC65356

Michel


"J@@" a écrit dans le message de news:
isi1q0$som$
Bonjour

Ok, dans mes mots à moi, ce serait pour que l'ordre de grandeur des 256
colonnes soit, à peux près, voisin du nombre de lignes (ici 65536)?

Question subsidiaire, Geedee :
1 - > "moi même j'avais pondéré" ... veut dire que tu as envoyé un message
sur une solution vba ? Je ne l'ai pas reçu.

J@@

Le 05/06/2011 13:08, Maude Este a écrit :
Bonsour®

"J@@" a écrit
je ne comprends pas grand chose, mais cette méthode de tri fonctionne
très bien.
Pourquoi Colonne * 10000 ?



pour qu'en cas de colonnes identiques , la notion de ligne soit pondérée
mais de façon moins significative
moi même j'avais pondéré de façon que le numéro de ligne n'intervienne
que dans la partie décimale
colonne(x)+ligne(y)/10^6



Avatar
J
Bonjour Michel & Geedee
Je suis toujours impressionné par ces approches.
Pas très matheux, pas très scientifique, pas très logique, je suis
plutôt du genre pâteux, voire vaseux.

Je suis allé lire ce qu'il y avait sur ce type de tri chez Misange,
Boisgontier et Walkenbach et j'avoue être un peu largué. Me faudrait
vraiment du pas à pas.
Avez-vous idée d'un tutoriel pour demeuré ?

Avec patience et persévérance, et quelque temps encore, je finirai par y
arriver, peut-être.
Encore merci
@+
J@@


Le 05/06/2011 22:56, michel ou sam a écrit :
Bonjour,
ce n'est pas un pb d'ordre de grandeur, c'est pour pouvoir trier en priorité
1 sur la colonne puis en priorité 2 sur la ligne

J'avais d'abord fait une autre solution avec un tri sur la ligne suivi d'un
tri sur la colonne mais l'astuce ici c'est de trier sur un seul nombre
représentant en priorité la colonne C puis la ligne L.
Ce nombre est du type = CC0LLL. Le tri prendra donc d'abord en compte les
chiffres à gauche c'est à dire les colonnes
Si le nombre de ligne à trier est très grand, il faudra multiplier le nombre
de colonnes par 100 000 afin d'avoir
CC00000 et pouvoir ensuite ajouter les 65356 lignes éventuelles qui
donneront CC65356

Michel


"J@@" a écrit dans le message de news:
isi1q0$som$
Bonjour

Ok, dans mes mots à moi, ce serait pour que l'ordre de grandeur des 256
colonnes soit, à peux près, voisin du nombre de lignes (ici 65536)?

Question subsidiaire, Geedee :
1 -> "moi même j'avais pondéré" ... veut dire que tu as envoyé un message
sur une solution vba ? Je ne l'ai pas reçu.

J@@

Le 05/06/2011 13:08, Maude Este a écrit :
Bonsour®

"J@@" a écrit
je ne comprends pas grand chose, mais cette méthode de tri fonctionne
très bien.
Pourquoi Colonne * 10000 ?



pour qu'en cas de colonnes identiques , la notion de ligne soit pondérée
mais de façon moins significative
moi même j'avais pondéré de façon que le numéro de ligne n'intervienne
que dans la partie décimale
colonne(x)+ligne(y)/10^6







Avatar
michel ou sam
Bonjour, tu trouvera peut être le principe ici

http://lwh.free.fr/pages/algo/algorithmes.htm
et surtout
http://lwh.free.fr/pages/algo/tri/tri.htm

N'hésites pas à aller les différentes pages de tri et de de faire animer le
diagramme pour voir le fonctionnement du tri
(mets sur lent et clique sur >>)

Attention ce n'est pas du VBA.
Michel

"J@@" a écrit dans le message de news:
isk6fn$9td$
Bonjour Michel & Geedee
Je suis toujours impressionné par ces approches.
Pas très matheux, pas très scientifique, pas très logique, je suis plutôt
du genre pâteux, voire vaseux.

Je suis allé lire ce qu'il y avait sur ce type de tri chez Misange,
Boisgontier et Walkenbach et j'avoue être un peu largué. Me faudrait
vraiment du pas à pas.
Avez-vous idée d'un tutoriel pour demeuré ?

Avec patience et persévérance, et quelque temps encore, je finirai par y
arriver, peut-être.
Encore merci
@+
J@@


Le 05/06/2011 22:56, michel ou sam a écrit :
Bonjour,
ce n'est pas un pb d'ordre de grandeur, c'est pour pouvoir trier en
priorité
1 sur la colonne puis en priorité 2 sur la ligne

J'avais d'abord fait une autre solution avec un tri sur la ligne suivi
d'un
tri sur la colonne mais l'astuce ici c'est de trier sur un seul nombre
représentant en priorité la colonne C puis la ligne L.
Ce nombre est du type = CC0LLL. Le tri prendra donc d'abord en compte les
chiffres à gauche c'est à dire les colonnes
Si le nombre de ligne à trier est très grand, il faudra multiplier le
nombre
de colonnes par 100 000 afin d'avoir
CC00000 et pouvoir ensuite ajouter les 65356 lignes éventuelles qui
donneront CC65356

Michel


"J@@" a écrit dans le message de news:
isi1q0$som$
Bonjour

Ok, dans mes mots à moi, ce serait pour que l'ordre de grandeur des 256
colonnes soit, à peux près, voisin du nombre de lignes (ici 65536)?

Question subsidiaire, Geedee :
1 -> "moi même j'avais pondéré" ... veut dire que tu as envoyé un
message
sur une solution vba ? Je ne l'ai pas reçu.

J@@

Le 05/06/2011 13:08, Maude Este a écrit :
Bonsour®

"J@@" a écrit
je ne comprends pas grand chose, mais cette méthode de tri fonctionne
très bien.
Pourquoi Colonne * 10000 ?



pour qu'en cas de colonnes identiques , la notion de ligne soit
pondérée
mais de façon moins significative
moi même j'avais pondéré de façon que le numéro de ligne n'intervienne
que dans la partie décimale
colonne(x)+ligne(y)/10^6










Avatar
J
Bonjour et merci Michel
J'y vais, et je passe en 110 volts pour voir cela tranquillement.
@+
J@@

Le 07/06/2011 06:48, michel ou sam a écrit :
Bonjour, tu trouvera peut être le principe ici

http://lwh.free.fr/pages/algo/algorithmes.htm
et surtout
http://lwh.free.fr/pages/algo/tri/tri.htm

N'hésites pas à aller les différentes pages de tri et de de faire animer le
diagramme pour voir le fonctionnement du tri
(mets sur lent et clique sur>>)

Attention ce n'est pas du VBA.
Michel

"J@@" a écrit dans le message de news:
isk6fn$9td$
Bonjour Michel& Geedee
Je suis toujours impressionné par ces approches.
Pas très matheux, pas très scientifique, pas très logique, je suis plutôt
du genre pâteux, voire vaseux.

Je suis allé lire ce qu'il y avait sur ce type de tri chez Misange,
Boisgontier et Walkenbach et j'avoue être un peu largué. Me faudrait
vraiment du pas à pas.
Avez-vous idée d'un tutoriel pour demeuré ?

Avec patience et persévérance, et quelque temps encore, je finirai par y
arriver, peut-être.
Encore merci
@+
J@@
Avatar
Gloops
J@@ a écrit, le 07/06/2011 05:38 :
Avez-vous idée d'un tutoriel pour demeuré ?



Bonjour,

Je ne suis pas toujours convaincu, mais il y a au moins une tentative :

http://excel.developpez.com/
Avatar
J
Merci Gloops
J'y fonce
@+
J@@

Le 08/06/2011 08:44, Gloops a écrit :
J@@ a écrit, le 07/06/2011 05:38 :
Avez-vous idée d'un tutoriel pour demeuré ?



Bonjour,

Je ne suis pas toujours convaincu, mais il y a au moins une tentative :

http://excel.developpez.com/
1 2