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 !
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
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
- 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