Lancer macro tri sur feuille "tri" sans passer par celle-ci.

  • Initiateur de la discussion Initiateur de la discussion marcelio
  • 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 !

marcelio

XLDnaute Occasionnel
Bonjour le Forum,

Sur ma feuil1 je lance une macro qui exécute un tri dans ma feuille "tri" et qui se termine dans la feuille "class".

Est il possible d'éviter que la macro passe par la feuille "tri" pour s'exécuter,
et quelle se positionne directement dans ma feuille "class".


Mon code
Sub tri()
Application.ScreenUpdating = False
Sheets("tri").Select
ActiveSheet.Unprotect
Range("FA2:FB20").Select
Selection.Sort Key1:=Range("FB2"), Order1:=xlDescending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
ActiveSheet.Protect
Application.ScreenUpdating = True
End Sub

Merci de votre aide
 

Pièces jointes

Re : Lancer macro tri sur feuille "tri" sans passer par celle-ci.

salut

essai avec ca:
Code:
Sub tri()
    Application.ScreenUpdating = False
    With Sheets("tri")
        .Unprotect
        .Range("FA2:FB20").Sort Key1:=.Range("FB2"), Order1:=xlDescending, Header:=xlGuess _
        , OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
        .Protect
    End With
    Application.ScreenUpdating = True
End Sub
 
Re : Lancer macro tri sur feuille "tri" sans passer par celle-ci.

bonjour marcelio

Code:
Sub tri()
    Application.ScreenUpdating = False
    Sheets("tri").Unprotect
    Sheets("tri").Range("FA2:FB20").Sort Key1:=Sheets("tri").Range("FB2"), Order1:=xlDescending, Header:=xlGuess _
        , OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    Sheets("tri").Protect
    Application.ScreenUpdating = True
End Sub
 
Re : Lancer macro tri sur feuille "tri" sans passer par celle-ci.

Bonsoir le forum,

Vgendron et Pierrejean vos codes fonctionnent parfaitement.
Je vous en remercie.
J'ai une autre demande SVP
Dans la même feuille "tri" j'aimerais supprimer les données présentes des colonnes GA2:GB20
j'ai testé en supprimant le code tri et mis à la place
Range("GA2:GF20").Select
Selection.ClearContents
Mais cela ne fonctionne pas.
A nouveau merci de votre aide
 
Re : Lancer macro tri sur feuille "tri" sans passer par celle-ci.

Bonjour

pas besoin de selectionner pour effacer
cf ligne rajouttée avant le .protect

à noter que dans ton fichier exemple du premier post: il n'y a rien à effacer dans la range.. mais je suppose que depuis, ca a changé
Code:
Sub tri()
    Application.ScreenUpdating = False
    With Sheets("tri")
        .Unprotect
        .Range("FA2:FB20").Sort Key1:=.Range("FB2"), Order1:=xlDescending, Header:=xlGuess _
        , OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
        .Range("GA2:GF20").ClearContents
        .Protect
    End With
    Application.ScreenUpdating = True
End Sub
 
- 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

Réponses
17
Affichages
1 K
Réponses
5
Affichages
1 K
Réponses
7
Affichages
1 K
Retour