Microsoft 365 Trier sans selection de la feuille

  • Initiateur de la discussion Initiateur de la discussion pasquet
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pasquet

XLDnaute Nouveau
Bonjour,

Je voudrait faire un tri mais sans avoir besoin de sélectionner la feuille.

L = Sheets("Suivi SAMSO").Range("a65536").End(xlUp).Row
Sheets("Suivi SAMSO").Select
Sheets("Suivi SAMSO").Range(Cells(9, 1), Cells(L, 29)).Sort key1:=Range("D9"), order1:=xlAscending, Header:=xlYes

Merci de votre aide
Bien cordialement
Jean-Pierre
 
Solution
Bonjour.
Pourquoi diable, alors que vous dites ne pas vouloir sélectionner la feuille, avez vous ensuite une instruction Sheets("Suivi SAMSO").Select, de toute façon inutile pour l'obtention du résultat ?
Faut pas laisser tout ce que l'enregistreur de macro met d'inutile !
Mais je viens de comprendre ce qui vous embarrasse: si vous ne spécifiez pas d'expression Worksheet devant Cells(… il assume la feuille active. Ce n'est pas une raison pour la sélectionner. Faites donc comme ça par exemple :
VB:
Dim Wsh as Worksheet, L as Long
Set Wsh = Worksheets("Suivi SAMSO")
L = Wsh.Range("A65536").End(xlUp).Row
Wsh.Range(Wsh.Cells(9, 1), Wsh.Cells(L, 29)).Sort key1:=Wsh.Range("D9"), order1:=xlAscending, Header:=xlYes
Moi, j'aurais plus...
Bonjour Pasquet,
Dans ce cas, ne faites pas référence à la feuille.
La macro s’exécutera sur la feuille courate.
VB:
Sub essai()
    L = Range("a65536").End(xlUp).Row
    Range(Cells(9, 1), Cells(L, 29)).Sort key1:=Range("D9"), order1:=xlAscending, Header:=xlYes
End Sub
 
Bonjour Pasquet,
Dans ce cas, ne faites pas référence à la feuille.
La macro s’exécutera sur la feuille courate.
VB:
Sub essai()
    L = Range("a65536").End(xlUp).Row
    Range(Cells(9, 1), Cells(L, 29)).Sort key1:=Range("D9"), order1:=xlAscending, Header:=xlYes
End Sub

L'idée est de pouvoir effectuer le tri quelque soit la feuille courante et sans avoir besoin de l'afficher avec ".Select"
 
Bonjour.
Pourquoi diable, alors que vous dites ne pas vouloir sélectionner la feuille, avez vous ensuite une instruction Sheets("Suivi SAMSO").Select, de toute façon inutile pour l'obtention du résultat ?
Faut pas laisser tout ce que l'enregistreur de macro met d'inutile !
Mais je viens de comprendre ce qui vous embarrasse: si vous ne spécifiez pas d'expression Worksheet devant Cells(… il assume la feuille active. Ce n'est pas une raison pour la sélectionner. Faites donc comme ça par exemple :
VB:
Dim Wsh as Worksheet, L as Long
Set Wsh = Worksheets("Suivi SAMSO")
L = Wsh.Range("A65536").End(xlUp).Row
Wsh.Range(Wsh.Cells(9, 1), Wsh.Cells(L, 29)).Sort key1:=Wsh.Range("D9"), order1:=xlAscending, Header:=xlYes
Moi, j'aurais plus tendance à faire :
VB:
Dim Wsh as Worksheet, Rng As Range
Set Wsh = Worksheets("Suivi SAMSO")
Set Rng = Wsh.[A9].Resize(Wsh.[A1000000].End(xlUp).Row - 8), 29)
Rng.Sort key1:=Rng.Columns("D"), order1:=xlAscending, Header:=xlYes
 
Bonjour.
Pourquoi diable, alors que vous dites ne pas vouloir sélectionner la feuille, avez vous ensuite une instruction Sheets("Suivi SAMSO").Select, de toute façon inutile pour l'obtention du résultat ?
Faut pas laisser tout ce que l'enregistreur de macro met d'inutile !
Mais je viens de comprendre ce qui vous embarrasse: si vous ne spécifiez pas d'expression Worksheet devant Cells(… il assume la feuille active. Ce n'est pas une raison pour la sélectionner. Faites donc comme ça par exemple :
VB:
Dim Wsh as Worksheet, L as Long
Set Wsh = Worksheets("Suivi SAMSO")
L = Wsh.Range("A65536").End(xlUp).Row
Wsh.Range(Wsh.Cells(9, 1), Wsh.Cells(L, 29)).Sort key1:=Wsh.Range("D9"), order1:=xlAscending, Header:=xlYes
Moi, j'aurais plus tendance à faire :
VB:
Dim Wsh as Worksheet, Rng As Range
Set Wsh = Worksheets("Suivi SAMSO")
Set Rng = Wsh.[A9].Resize(Wsh.[A1000000].End(xlUp).Row - 8), 29)
Rng.Sort key1:=Rng.Columns("D"), order1:=xlAscending, Header:=xlYes
Merci ça correspond bien à l'objectif recherché
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
285
Réponses
4
Affichages
177
Réponses
5
Affichages
481
Retour