Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Classement de ligne par la fonction sort (vba)

2 réponses
Avatar
Nicolas
Bonjour =E0 tous,

Je dispose d'un fichier excel qui se pr=E9sente de la=20
mani=E8re suivante:
A1 : Date1, B1 : Nom, C1: chiffre, D1 : chiffre
C2: chiffre, D2 : chiffre
De m=EAme 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=E9es par ordre=20
chronologique (suivant la colonne A).
Le probl=E8me est que si j'utilise la fonction suivante:
Aplication.Range("A1:D700").sort Key1:=3DRange("A1"),=20
order1:=3DxlAscending, Header:=3DxlGuess
Excel trie bien les donn=E9es mais ligne par ligne. Ceci=20
donne comme r=E9sultat (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=E9es mais en prenant en=20
compte =E0 chaque fois un ensemble de 2 lignes. C'est-=E0-
dire, trier l'ensemble ligne 1 et 2 par rapport =E0=20
l'ensemble ligne 3 et 4...

Si vous avez des id=E9es pour faire =E7a, je vous en remercie=20
par avance.

Nicolas.

2 réponses

Avatar
www.eztree-msdn.com \( Laurent Jordi \)
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" a écrit dans le message de
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.
Avatar
Pascal Engelmajer
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" a écrit dans le message de 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.