Lancer un trie sur plusieurs feuilles à la fois.

mobenjilali

XLDnaute Occasionnel
Bonjour le Forum,
J’essaye d’appliquer ce code pour trié 6 feuilles à partir de la même colonne et la même ligne.
Mais il ne fonctionne pas correctement (le trie est lancé par un bouton)

Sub trie()

Sheets(Array("AO 1", "AO 2", "AO 3", "AO 4", "AO 5", "AO 6")).Select Selection.Sort Key1:=ActiveCell.Offset(0, 1).Range("A1"), Order1:= _
xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
End Sub


merci pour l'aide.:eek:
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Lancer un trie sur plusieurs feuilles à la fois.

Bonjour Mobenjilali, bonjour le forum,

Avec un fichier exemple c'eut été plus facile... Essaie la macro à adapter ci-dessous:
Code:
Sub tri()
Dim sh As Object 'déclare la varialbe o (Onglet)
Dim pl As Range 'déclare la varialbe pl

For Each o In Sheets(Array("AO 1", "AO 2", "AO 3", "AO 4", "AO 5", "AO 6"))
    Set pl = o.Range("ta_plage") 'définit la plage (à adapter à ton cas)
    pl.Sort Key1:=pl.Offset(0, 1).Resize(1, 1), Order1:= _
        xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
        Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Next o
End Sub
 

mobenjilali

XLDnaute Occasionnel
Re : Lancer un trie sur plusieurs feuilles à la fois.

Bonjour RObert, Forum

j'ai une "erreur de complilation: variable non définie"
Merci
Bonjour Mobenjilali, bonjour le forum,

Avec un fichier exemple c'eut été plus facile... Essaie la macro à adapter ci-dessous:
Code:
Sub tri()
Dim sh As Object 'déclare la varialbe o (Onglet)
Dim pl As Range 'déclare la varialbe pl

For Each o In Sheets(Array("AO 1", "AO 2", "AO 3", "AO 4", "AO 5", "AO 6"))
    Set pl = o.Range("ta_plage") 'définit la plage (à adapter à ton cas)
    pl.Sort Key1:=pl.Offset(0, 1).Resize(1, 1), Order1:= _
        xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
        Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Next o
End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Lancer un trie sur plusieurs feuilles à la fois.

Bonsoir Mobenjilali, bonsoir le forum,

Il y avait erreur de ma part. Mais il faut aussi, bien évidement, modifier le code pour définir la plage pl :
Code:
Set pl = o.Range("ta_plage") 'définit la plage (à adapter à ton cas)
Comme tu n'as toujours pas daigné mettre un fichier exemple je ne peux pas le faire à ta place...

Le code corrigée :
Code:
Sub tri()
Dim o As Object 'déclare la varialbe o (Onglet)
Dim pl As Range 'déclare la varialbe pl

For Each o In Sheets(Array("AO 1", "AO 2", "AO 3", "AO 4", "AO 5", "AO 6"))
    Set pl = o.Range("ta_plage") 'définit la plage (à adapter à ton cas)
    pl.Sort Key1:=pl.Offset(0, 1).Resize(1, 1), Order1:= _
        xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
        Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Next o
End Sub
Si ça ne marche toujours pas essaie en supprimant la première ligne du modue : Option Explicit.
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 461
dernier inscrit
dams94