Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/01/2012, 17h40   #1
Invité de passage
 
Inscription : juin 2004
Messages : 3
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 3
Points : 1
Points : 1
Par défaut tri de plusieurs feuilles

Bonjour,

Je dois trier plusieurs feuilles d'un classeur, et en écrivant le code je me suis demandé si les propriétés du sort étaient liées ou non à une feuille de calcul.
Exemple :

Code :
1
2
3
4
  wksresar.Sort.SortFields.Add Key:=Range("B3:B" & nbar + 2), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:="1", DataOption:=xlSortNormal
            wksresmail.Sort.SortFields.Add Key:=Range("B3:B" & nbmail + 2), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:="1", DataOption:=xlSortNormal
            wksresrdv.Sort.SortFields.Add Key:=Range("B3:B" & nbrdv + 2), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:="1", DataOption:=xlSortNormal
            wksresgen.Sort.SortFields.Add Key:=Range("B3:B" & nbgen + 2), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:="1", DataOption:=xlSortNormal
Est-ce que je peux définir mes clés de tri puis ensuite les appliquer sur chacune des feuilles genre

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
With wksresar
    Set plage = .Range("A3:BA" & nbar + 2)
    .Sort.SetRange plage
    .Sort.Header = xlGuess
    .Sort.MatchCase = False
    .Sort.Orientation = xlTopToBottom
    .Sort.SortMethod = xlPinYin
    .Sort.Apply
End With
 
With wksresrdv
    Set plage = .Range("A3:BA" & nbrdv + 2)
    .Sort.SetRange plage
    .Sort.Header = xlGuess
    .Sort.MatchCase = False
    .Sort.Orientation = xlTopToBottom
    .Sort.SortMethod = xlPinYin
    .Sort.Apply
End With
pour les deux premières par exemple

ou alors me faut-il définir la clé puis l'appliquer sur la feuille correspondante avant de définir la suivante.

La question n'est pas neutre car vous aurez sans doute remarqué que je définis un custom order pour les tris, et que les définitions des clés de tri se trouvent dans un bloc select case afin d'affecter le bon custom order suivant la valeur prise par la variable du select case..L'objectif général étant de faire remonter en début de feuille les observations vérifiant un critère. La méthode n'est peut-être pas la plus efficace mais disons que cela fonctionne avec une seule feuille..et que donc je souhaite l'étendre à plusieurs feuilles..

En vous remerciant par avance de vos conseils,

marav
marav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 11h13   #2
Invité de passage
 
Inscription : juin 2004
Messages : 3
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 3
Points : 1
Points : 1
Après avoir créé des fichiers ad hoc pour tester, cela fonctionne..les propriétés du sort sont associés à une page donnée..

Je ne sais pas en revanche comment on passe le post en 'Résolu'..

Bonne journée,

marav
marav est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h04.


 
 
 
 
Partenaires

Hébergement Web