[Macro VB sous Excel] Prb de tri de colonne

Prb de tri de colonne [Macro VB sous Excel] - VB/VBA/VBS - Programmation

Marsh Posté le 01-09-2006 à 12:30:27    

A la fin d'une macro, j'ai çà :

Code :
  1. Sheets(3).Range("A:I" ).Sort Key1:=Range("D1" ), Order1:=xlAscending, Key2:=Range("F1" ) _
  2.         , Order2:=xlAscending, Key3:=Range("G1" ), Order3:=xlAscending, Header:= _
  3.         xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
  4.         DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
  5.         xlSortNormal


 
et ca m'affiche :  

Code :
  1. Référence de tri non valide. Vérifiez qu'elle se trouve bien parmi les données à trier et que la zone Trier par n'est pas identique ou vide.


 
alors que ca marche en macro simple (créé automatiquement en Nouvelle macro...)
 
Merci de votre aide, je sêche !

Reply

Marsh Posté le 01-09-2006 à 12:30:27   

Reply

Marsh Posté le 01-09-2006 à 15:17:28    

Bonsoir,
Il existe ton sheets(3)?
si oui rajoutes devant sheets(3).select
cordialement


Message édité par seniorpapou le 01-09-2006 à 15:35:52
Reply

Marsh Posté le 01-09-2006 à 15:42:48    

bien sur qu'il existe
et j'ai essayé en decoupant la macro
en faisant Sheets(3).select
ou Sheets(3).Range("A1:H500" ).select
Selection.sort ..
 
ca marche tjrs pas, meme erreur

Reply

Marsh Posté le 01-09-2006 à 15:48:36    

Re,
et si le select te gène , écris ton tri ainsi
Sheets(3).Range("A:I" ).Sort Key1:=Sheets(3).Range("D1" ), Order1:=xlAscending, Key2:=Sheets(3).Range("F1" ) _
        , Order2:=xlAscending, Key3:=Sheets(3).Range("G1" ), Order3:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
        xlSortNormal

Reply

Marsh Posté le 01-09-2006 à 17:21:53    

c'est EXACTEMENT ce que j'ai marqué dans le post #1 non ?
et ca marche pas...

Reply

Marsh Posté le 01-09-2006 à 17:47:00    

bonsoir,
Sheets(3) doit être active.
A+

Reply

Marsh Posté le 01-09-2006 à 18:02:00    

Millenius a écrit :

c'est EXACTEMENT ce que j'ai marqué dans le post #1 non ?
et ca marche pas...


tu n'as pas bien regardé:
 
Sheets(3).Range("A:I" ).Sort Key1:=Sheets(3).Range("D1" ), Order1:=xlAscending, Key2:=Sheets(3).Range("F1" ) _  
        , Order2:=xlAscending, Key3:=Sheets(3).Range("G1" ), Order3:=xlAscending, Header:= _  
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _  
        DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _  
        xlSortNormal
 
ainsi, la feuille n'a pas besoin d'être active
Cordialement

Reply

Sujets relatifs:

Leave a Replay

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