trier un fichier sur 2 colonnes (résolu)

trier un fichier sur 2 colonnes (résolu) - VB/VBA/VBS - Programmation

Marsh Posté le 16-04-2007 à 12:50:31    

Bonjour,
je cherche à faire une macro pour trier sur 2 colonnes automatiquement un fichier Excel.
 
J'avais trouvé cette commande:
Range("A2:H5000" ).Sort Key1:=Range("H1" )
Range("A2:H5000" ).Sort Key1:=Range("A1" )
 
Mais le soucis (qui parait normal après réflexion),
est qu'il ne le fait pas en même temps mais l'un après l'autre,
ce qui fait qu'à la fin c'est la colonne A qui est trier et plus H.
 
J'aimerais trouver une macro qui me permette d'avoir la colonnes H trier en premier choix et la colonne A en deuxieme choix.
En sachant que mon tableau comporte une ligne avec des entetes de colonnes.
 
Merci pour toute l'aide qui me sera apporter


Message édité par aculy le 16-04-2007 à 15:03:47
Reply

Marsh Posté le 16-04-2007 à 12:50:31   

Reply

Marsh Posté le 16-04-2007 à 13:02:20    

Range("A2:H5000" ).Sort Key1:=Range("H1" ),Key2:=Range("A1" )
 
Pour ce genre de choses, le plus simple est de lancer l'enregistreur de macro, de faire à la main ce que tu veux faire, d'arréter l'enregistreur et de lire ce qu'il a écrit.

Reply

Marsh Posté le 16-04-2007 à 13:11:50    

Par ailleurs, pour la suite, entraine toi à adopter la nomenclature vba de type :
cells(5,3) -par exemple-
vs la nomenclature Excel :
range("C5" )
 
Car si, pour le moment tu connais a priori les début et fin des tes zones et que tu es donc capable de le nommer en Excel, ce ne sera pas tjs le cas et lorsque tu devras, par vb, déterminer ces zones préalablement, la nomenclature vba sera la seule utilisable.

Reply

Marsh Posté le 16-04-2007 à 13:55:25    

ok
merci bcp ca marche niquel
mais je ne comprends pas ce que tu me dis avec cells et range
est ce que tu me preconise de faire ceci :
Range("A2:H5000" ).Sort Key1:=cells(8,1 ),Key2:=cells(1,1)  
car la pax ex j ai mis A2:H5000
mais je ne sais pas toujours a l avance combien fait mon tableau en nb de ligne
est ce que je peux mettre avant une recherche du nb de ligne et le mettre dans ma ligne ???

Reply

Marsh Posté le 16-04-2007 à 14:04:33    

et une question C koi l enregistreur de macro ???????????
ca fonctionne comment????,
moi je suis en Office 2003 SP2

Reply

Marsh Posté le 16-04-2007 à 14:06:26    

aculy a écrit :

et une question C koi l enregistreur de macro ???????????
ca fonctionne comment????,
moi je suis en Office 2003 SP2


 
[:google]
http://www.google.fr/search?hl=fr& [...] cher&meta=
(et orthographe, tu me piques les yeux)


---------------
Töp of the plöp
Reply

Marsh Posté le 16-04-2007 à 15:03:32    

merci au fait j'ai compris comment fonctionnait l'enregistreur de macro

Reply

Marsh Posté le 16-04-2007 à 16:16:13    

je préconise de remplacer range("E5" ) par cells(5,5) et ce dans tous les cas.
C'est strictement la même chose, l'un en langage Excel, l'autre en VBA.
De la même facon, remplacer Range("A1:H5000" ) par range(cells(1,1),cells(5000,8)).

Reply

Marsh Posté le 16-04-2007 à 16:20:12    

OK
j'ai compris
merci de l info

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed