Classement de ligne par la fonction sort (vba)

Le
Nicolas
Bonjour tous,

Je dispose d'un fichier excel qui se prsente de la
manire suivante:
A1 : Date1, B1 : Nom, C1: chiffre, D1 : chiffre
C2: chiffre, D2 : chiffre
De mme pour les lignes suivantes.

Exemple:
A B C D
1 01-01-01 Machin 12 15
2 26 22
3 01-02-01 Truc 14 14
4 10 17
..
ainsi de suite

Je souhaite trier cet ensemble de donnes par ordre
chronologique (suivant la colonne A).
Le problme est que si j'utilise la fonction suivante:
Aplication.Range("A1:D700").sort Key1:=Range("A1"),
order1:=xlAscending, Header:=xlGuess
Excel trie bien les donnes mais ligne par ligne. Ceci
donne comme rsultat (avec l'exemple ci-dessus):
01-01-01 Machin 12 15
01-02-01 Truc 14 14
26 22
10 17

Je voudrais donc trier les donnes mais en prenant en
compte chaque fois un ensemble de 2 lignes. C'est--
dire, trier l'ensemble ligne 1 et 2 par rapport
l'ensemble ligne 3 et 4

Si vous avez des ides pour faire a, je vous en remercie
par avance.

Nicolas.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
www.eztree-msdn.com \( Laurent Jordi \)
Le #1226823
Salut,

Connais-tu l'enregistreur de macro ?

Quand tu ne sais pas faire kke chose en vba, tu fais ta manipulation en
enregistrant une macro. Ensuite tu n'as + qu'à récuperer le vba généré et
hop... le tour est joué...

@+

LJ

www.eztree-msdn.com

"Nicolas" news:1838f01c41b00$1ddbcab0$
Bonjour à tous,

Je dispose d'un fichier excel qui se présente de la
manière suivante:
A1 : Date1, B1 : Nom, C1: chiffre, D1 : chiffre
C2: chiffre, D2 : chiffre
De même pour les lignes suivantes.

Exemple:
A B C D
1 01-01-01 Machin 12 15
2 26 22
3 01-02-01 Truc 14 14
4 10 17
.....
ainsi de suite

Je souhaite trier cet ensemble de données par ordre
chronologique (suivant la colonne A).
Le problème est que si j'utilise la fonction suivante:
Aplication.Range("A1:D700").sort Key1:=Range("A1"),
order1:=xlAscending, Header:=xlGuess
Excel trie bien les données mais ligne par ligne. Ceci
donne comme résultat (avec l'exemple ci-dessus):
01-01-01 Machin 12 15
01-02-01 Truc 14 14
26 22
10 17

Je voudrais donc trier les données mais en prenant en
compte à chaque fois un ensemble de 2 lignes. C'est-à-
dire, trier l'ensemble ligne 1 et 2 par rapport à
l'ensemble ligne 3 et 4...

Si vous avez des idées pour faire ça, je vous en remercie
par avance.

Nicolas.
Pascal Engelmajer
Le #1226822
Salut,
une piste (simple):
dans une feuille de travail recopier deux lignes sur une seule
ligne 1 de A1 à D1
ligne 2 de E1 à H1
etc.
trier le tableau dans la feuille de travail
et faire la copie inverse

on peut aussi utiliser un tableau... mais c'est moins simple...
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Nicolas" 1838f01c41b00$1ddbcab0$
Bonjour à tous,

Je dispose d'un fichier excel qui se présente de la
manière suivante:
A1 : Date1, B1 : Nom, C1: chiffre, D1 : chiffre
C2: chiffre, D2 : chiffre
De même pour les lignes suivantes.

Exemple:
A B C D
1 01-01-01 Machin 12 15
2 26 22
3 01-02-01 Truc 14 14
4 10 17
.....
ainsi de suite

Je souhaite trier cet ensemble de données par ordre
chronologique (suivant la colonne A).
Le problème est que si j'utilise la fonction suivante:
Aplication.Range("A1:D700").sort Key1:=Range("A1"),
order1:=xlAscending, Header:=xlGuess
Excel trie bien les données mais ligne par ligne. Ceci
donne comme résultat (avec l'exemple ci-dessus):
01-01-01 Machin 12 15
01-02-01 Truc 14 14
26 22
10 17

Je voudrais donc trier les données mais en prenant en
compte à chaque fois un ensemble de 2 lignes. C'est-à-
dire, trier l'ensemble ligne 1 et 2 par rapport à
l'ensemble ligne 3 et 4...

Si vous avez des idées pour faire ça, je vous en remercie
par avance.

Nicolas.
Publicité
Poster une réponse
Anonyme