Trie en vba

  • Initiateur de la discussion romfret
  • Date de début
R

romfret

Guest
Re le forum,


J'ai un petit problème de tri en vba.
Voila je n'arrive pas à trier la plage C3:J136 a partir de la colonne H. Je reussi a trier les données mais que a partir de la colonne C (car je débue à C3...).


Merci encore une fois de vos lumieres et j'aimerai en avoir une de plus.......



@mic@lement, romfret
 
L

LaurentTBT

Guest
Salut Romfret.

Range("C3").Sort Key1:=Range("H3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

(éventuellement, Order1:=xlDescending si tu veux trier en ordre décroissant)

Pour ce genre de difficultés, tu peux utiliser l'enregistreur de macro, qui te donne la solution. Il ne reste plus qu'à peaufiner (ici, j'ai juste supprimé le select)

NB: Regarde mon post sur le fil d'hier soir.

Bonsoir. Laurent.
 
R

romfret

Guest
Salut laurent et le forum;


Merci pour ce code mais je ne comprends pas la valeur J136 (ou s'arrete le tri) n'est pas évoquée !

C'est normal ?Je vais essayé.
Réécrit moi si c'est un oubli . Merci




@mic@lement ; romfret
 
R

romfret

Guest
Re....


Voila j'ai modifié le code ! Il marche ! ( le pire c'est que j'y était presque )
Merci pour tous.
Mais quesque l'enregistreur de macro ?

Merci de ta réponse .


@mic@lement, romfret

ps : mon nouveau code !!!!



Sub SortRange1()

Range("C3:J136").Sort Key1:=Range("H3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

End Sub
 
L

LaurentTBT

Guest
Re...

L'enregistreur de macro, c'est un truc génial pour débuter en VBA.

En effet, Excel est capable de créer tout seul une macro.

Pour cela, affiche sous excel la barre d'outil VBA.
Clique sur le rond bleu. Cela lance l'enregistreur de macro. Dans un premier temps, clique directement sur OK dans la boite qui s'est ouverte. Ultérieurement, tu pourra modifier ce qui y est inscrit.
Ensuite, fait sous excel ce que tu souhaites faire faire à ta macro. Par exemple, Selectionne C3 à J136, fait le tri que tu souhaites. Quand tu as terminé tes actions, clique sur le carré qui a remplacé le rond. Ouvre alors l'éditeur VBA, tu verras qu'un module a été crée, ainsi qu'une procédure. Toutes les actions que tu as réalisées sous excel sont transcrites en code VBA.

Voilà un moyen simple de créer des macros relativement simple. (j'entends par simple le fait que cela ne permet pas de faire des boucles. Mais on peut quand même faire faire des actions excel as si simples que cela, le tri en étant un exemple concret).

Maintenant, tu verras que tu auras déjà pleins de réponses à tes questions VBA grâce à cet enregistreur.

Pour les puristes, il faut retravailler ensuite le code, car l'enregistreur rajoute du code superflu. Par exemple, il écrira Range("C3:J136").select, Puis selection.Sort..., alors qu'une simple ligne Range("C3:J136").Sort... suffit (et c'est même mieux pour des procédures plus complexe car plus rapide à l'exécution).

Voilà, bonne découverte de VBA, et encore sorry pour l'erreur de tout à l'heure.

Bonne soirée. Laurent.

NB; j'attends la pièce jointe de l'autre post. Regarde ma réponse sur ce fil:
http://www.excel-downloads.com/html/French/forum/messages/1_43226_43163.htm
 

Discussions similaires

Réponses
2
Affichages
414
Réponses
9
Affichages
446