Macro et sélection onglet

Bonjour,

J'ai créé une petit macro en vue de trier un tableau de manière automatisée.

Problème: depuis la dernière version d'Excel, la macro ne s'applique qu'à l'onglet sélectionné au moment de l'enregistrement de la macro.

Je voudrais changer cela en modifiant le code, mais n'y connaissant rien, je fais appel à l'équipe Excel-Pratique.

Dans mon cas, l'onglet sélectionné à l'enregistrement était "trim1".

Objectif: que la macro s'applique dans l'onglet activé au moment où je lance la macro.

Que faut-il changer?

Merci

Sub TriDate()
'
' TriDate Macro
'

'
    Range("E50:L89").Select
    ActiveWorkbook.Worksheets("trim1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("trim1").Sort.SortFields.Add Key:=Range("J50:J89") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("trim1").Sort.SortFields.Add Key:=Range("I50:I89") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("trim1").Sort
        .SetRange Range("E50:L89")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("J49").Select
End Sub

Bonjour,

Si j'ai bien compris vous souhaitez que la macro fonctionne dans l'onglet dans lequel vous êtes actuellement ?

Si c'est le cas : essayez le code suivant :

Sub TriDate()
'
' TriDate Macro
'

'
   Range("E50:L89").Select
    ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
    ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("J50:J89") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("I50:I89") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.ActiveSheet.Sort
        .SetRange Range("E50:L89")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("J49").Select
End Sub

Merci, ça marche.

Rechercher des sujets similaires à "macro selection onglet"