trier un tableau qui se trouve sur une autre feuille

trier un tableau qui se trouve sur une autre feuille - VB/VBA/VBS - Programmation

Marsh Posté le 08-08-2008 à 12:55:17    

bonjour,  
je suis débutante en vba sous exel, et pour l'instant je fais pas mal de "bidouillage", mais là je bloque bien... Alors même si je pense que la solution n'est pas compliquée, je vous appelle à l'AIDE !!!
alors en gros:
je suis sur la Feuil1, et en cliquant sur un bouton ça m'envoie une partie de mon tableau dans la Feuil2 sur la plage "A12:E48" donc ça c'est pas compliqué, je m'en suis sortie.
 
mais j'aimerais que la fonction me trie cette plage par rapport à la colonne B (par ordre alphabétique).
pour cela j'ai fait:
             
                Worksheets("tirage 1er tour dress" ).Range("A12:E48" ).Sort key1:=Range("B12" ), order1:=xlAscending
 
mais ça m'indique:
 
erreur 1004 référence de tri non valide vérifier qu'elle se trouve bien parmi les données à trier et que la zone trier par n'est pas identique ou vide.
 
mais par contre si je mets le bouton avec la macro sur la Feuil2 (où se trouvent les données à trier) là sans rien changer ça marche!!
 
donc voilà si quelqu'un pourrait me dépanner, ça serait super, et si en plus on pourrait m'expliquer pourquoi ça ne marche pas dés qu'on est plus sur la feuille concernée là ça serait vraiment le top!!
 
en tout cas, merci pour votre aide!
 
 

Reply

Marsh Posté le 08-08-2008 à 12:55:17   

Reply

Marsh Posté le 08-08-2008 à 13:23:41    

Essaye ca :

Code :
  1. Sheets("tirage 1er tour dress" ).Activate
  2. Activesheet.Range("A12:E48" ).Sort key1:=Range("B12" ), order1:=xlAscending


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 08-08-2008 à 14:02:13    

merci beaucoup babass, c'est ce que j'ai fait au départ, mais comme cette action doit être faite sur plusieurs feuilles je voulait pouvoir le faire sans "aller" sur les pages, pour éviter les clignotements qui donnent l'impression que le PC va exploser  :pt1cable:

Reply

Marsh Posté le 08-08-2008 à 14:07:44    

Soit....
Alors comme ca :

Code :
  1. Sheets("tirage 1er tour dress" ).Range("A12:E48" ).Sort key1:=Sheets("tirage 1er tour dress" ).Range("B12" ), order1:=xlAscending



Message édité par babasss le 08-08-2008 à 14:07:54

---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 08-08-2008 à 14:36:04    

:bounce:  
j'y crois pas, il suffisait de justifier la feuille où est la cellule dont dépend le tri!!!!
j'avais raison, c'était pas très compliqué, mais j'aurais pu chercher encore longtemps...
encore merci babass pour ton aide et ta rapidité

Reply

Sujets relatifs:

Leave a Replay

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