Trier une colonne dans un ordre choisi

nomade

XLDnaute Nouveau
Bonsoir à tous,

Dans un fichier Excel j’ai en colonne C des données qui se répètes, mais malheureusement pas toujours dans le même ordre, or je voudrais pouvoir trier ces données dans un ordre toujours identique et bien sur que les données des colonnes adjacentes suivent le tri de la colonne C.
(ceci dans le but pouvoir ensuite les transposer en lignes pour une utilisation avec access).

A B C D
SER WM001188
DATPOS 20061205
HRPOS 14,43
DENOFR CARTER D'ENTREE
ART 307-175-212-0
DENOGB Frame front
FAB F0301
VERSION M88-2
----------------------------
SER WM002208
DATPOS 20061205
HRPOS 14,43
DENOFR COMPRESSEUR BP
DENOGB Compressor assy, low press
ART 307-797-202-0
FAB F0301
VERSION M88-2

Pour obtenir ceci :

SER DATPOS HRPOS DENOFR DENOGB ART FAB VERSION
WM001188 20061205 14,43 CARTER D'ENTREE Frame front 307-175-212-0 F0301 M88-2
WM002208 20061205 14,43 COMPRESSEUR BP Compressor assy, low press 307-797-202-0 F0301 M88-2

PS
Je n'arrive pas à compresser (zip) un fichier Excel à moins de 70 Ko.
Pourquoi ????
 
Dernière édition:

Marion

XLDnaute Junior
Re : Trier une colonne dans un ordre choisi

Bonsoir !
Le mieux serait tout de même un fichier exemple.......si ton fichier excel est trop lourd, tu pourrais en créer un deuxième-exemple avec beaucoup moins de données...Et s'il y a des tableaux croisés les enlever parce qu'ils pèsent...
Parce que là c pas très compréhensible.
A+ Marion
 

nomade

XLDnaute Nouveau
Re : Trier une colonne dans un ordre choisi

Bonjour et merci,
Supposons dans la colonne C, D les données suivantes:
Colonne C Colonne D
A 1
B 2
C 3
C 4
A 5
B 6
B 7
A 8
C 9
Je voudrais pouvoir les trier et les reécrire comme suit:

A 1
B 2
C 3
A 5
B 6
C 4
A 8
B 7
C 9
Est ce suffisant et plus explicite?

Difficile de joindre un fichier exemple, quoique je fasse pas possible d'avoir moins de 70 Ko en *.zip
Le site n'acceptant pas les fichiers *.rar.
Cordialement
 

Monique

Nous a quitté
Repose en paix
Re : Trier une colonne dans un ordre choisi

Bonjour,

Pas compris.
Le 2ème message ne correspond pas au 1er
Regarde le fichier joint, il correspond peut-être à ton 1er message.
 

Pièces jointes

  • TrierNomade.xls
    26 KB · Affichages: 85
  • TrierNomade.xls
    26 KB · Affichages: 78
  • TrierNomade.xls
    26 KB · Affichages: 79

nomade

XLDnaute Nouveau
Re : Trier une colonne dans un ordre choisi

Bonjour,
Les données du 2éme méssages sont différentes mais le principe est le même, sauf que je n'ai pas mentionné la transposition.
J'ai regardé le fichier joint, comment l'avez vous obtenu, lorsque j'ai tenté de vous l'expédier il m'a été répondu "fichier trop lourd". bref.?
Comment l'utilise-t-on?
Cordialement
 

Pièces jointes

  • TrierNomade.xls
    26 KB · Affichages: 70
  • TrierNomade.xls
    26 KB · Affichages: 75
  • TrierNomade.xls
    26 KB · Affichages: 72

Monique

Nous a quitté
Repose en paix
Re : Trier une colonne dans un ordre choisi

Re,

Comment je l'ai obtenu ? Ton fichier ?
Je n'ai rien obtenu du tout, ce n'est pas ton fichier,
c'est un fichier que j'ai fait à partir de ton message.

Comment on l'utilise ?
Tu changes les données des colonnes A et B et les formules du tableau D1:N6 font leur travail.

Les formules de ce tableau, tu peux prendre n'importe laquelle et la copier-coller pour agrandir le tableau
Les formules en D1:N1, tu peux les copier-coller vers la droite

Toutes les formules sont matricielles,
elles sont donc à valider en appuyant simultanément sur les 3 touches ctrl, maj et entrée.
 

nomade

XLDnaute Nouveau
Re : Trier une colonne dans un ordre choisi

Bonsoir, et merci.
Mon fichier peut contenir jusqu'a 50000 lignes, j'ai essayé en changeant "$A$30" par "$A$65536" le maxi de Excel, cela ne fonctionne plus!
Quelle correction puis-je apporter pour exécuter un fichier de disons 65536 lignes?
Merci
Cordialement
 
Dernière édition:

Monique

Nous a quitté
Repose en paix
Re : Trier une colonne dans un ordre choisi

Re,

C'est trop lourd, 50000 lignes, ça ne fonctionnera pas.

En D2 :
=SI(NB.SI($A$2:$A$65536;D$1)<LIGNES(D$2: D2);"";INDEX($B:$B;PETITE.VALEUR(SI($A$2:$A$65536=D$1;LIGNE($A$2:$A$65536));LIGNES(D$2: D2)))&"")

ça fonctionne mais le temps de recalcul va être beaucoup trop long.

Comme ça, ça ne fonctionne pas :
=SI(NB.SI($A:$A;D$1)<LIGNES(D$2: D2);"";INDEX($B:$B;PETITE.VALEUR(SI($A:$A=D$1;LIGNE($A:$A));LIGNES(D$2: D2)))&"")

C'est cette partie qui ne fonctionne pas :
=PETITE.VALEUR(SI($A:$A=D$1;LIGNE($A:$A));LIGNES(D$2: D2))

Comme ça, c'est pareil :
=PETITE.VALEUR(SI($A1:$A65536=D$1;LIGNE($A1:$A65536));LIGNES(D$2: D2))

Comme ça, ça marche, mais pas plus avancé :
=PETITE.VALEUR(SI($A1:$A65535=D$1;LIGNE($A1:$A65535));LIGNES(D$2: D2))

Les formules matricielles n'acceptent pas les colonnes entières
et sont lentes quand il y a beaucoup de données.

Il faut passer par une macro et je ne sais pas faire.
Quelqu'un va bien passer par là.
 

pierrejean

XLDnaute Barbatruc
Re : Trier une colonne dans un ordre choisi

bonjour a tous

une version adaptée a la demande en A B C

a adapter aux denorg et autres

a ce propos nomade:

on peut avoir une reponse au post precedent ????
 

Pièces jointes

  • nomade2.xls
    30.5 KB · Affichages: 85

nomade

XLDnaute Nouveau
Re : Trier une colonne dans un ordre choisi

Bonjour,
J'étais absent jusqu'a aujourd'hui.
Je me satisfait de la macro (ca marche presque parfaitement) meme si le traitement est long.
Je voudrais remercier tous ceux m'ont consacré de leur temps
et mon aidé dans cette réalisation.
Compte tenu de mon ignorance dans la programmation (54 ans l'age est dépassée pour tout réapprendre), je pense que je ferais appel à nouveau à votre aide.
Encore MERCI à tous.
nomade
 

Discussions similaires

Statistiques des forums

Discussions
314 208
Messages
2 107 290
Membres
109 796
dernier inscrit
aelgar