Substituer la fonction tri

traksmen

XLDnaute Nouveau
Bonjour,

Je cherche à savoir s'il est possible de substituer la fonction trier enpe.jpg pour y mettre une macro.

J'explique le pourquoi. J'ai un document protégé avec des cellules vérouillées et je veux permettre le tri sur les colonnes. Or cela ne ce peux pas avec mes paramètres du dessus et je n'ai pas envi de rajouter un bouton pour trier aux utilisateurs. Ma macro déprotège ma feuille, effectue le tri de la colonne de la cellule active et re vérouille la feuille.

Si vous avez une idée ou une piste, je suis preneur.

Merci d'avance
 

Jack2

XLDnaute Occasionnel
Re : Substituer la fonction tri

Bonjour à tous,

Ci-après un bout de code à essayer pour un tri sur la colonne A:
Code:
Sub Tri_Macro()
Worksheets("Feuil1").Unprotect Password:="Motasse"

Sheets("Feuil1").Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Worksheets("Feuil1").Protect Password:="Motasse"
End Sub
A+, Jack2
 

Dranreb

XLDnaute Barbatruc
Re : Substituer la fonction tri

Bonjour.
Ce que je fais souvent c'est un classement sur une colonne lors d'un double clic sur son titre.
Alors c'est une idée que je vous suggère: le faire dans une Worksheet_BeforeDoubleClick.
 

Theze

XLDnaute Occasionnel
Re : Substituer la fonction tri

Bonjour,

Si j'ai bien compris, tu veux ajouter une commande dans le menu du clic droit dans une cellule ?
Alors teste ce qui suit et adapte :
Code:
Sub AjouterBoutonBarreCell()

    Dim Bouton As CommandBarButton
    
    'dans la barre d'outils Cell (clic droit dans cellule)
    With CommandBars("Cell")
        
        'rend inopérationnel la commande de tri Excel
        .Controls("&Trier").Enabled = False
        
        'ajoute un bouton au dessus de la commande "Insérer un commentaire", bouton qui sera supprimé
        'à la fermeture d'Excel (Tempory = True)
        Set Bouton = .Controls.Add(msoControlButton, 210, , .Controls("Insérer un co&mmentaire").Index, True)
        
        'défini le titre du bouton et la macro à appeler
        With Bouton
        
            .Caption = "Tri perso"
            .OnAction = "MaMacroDeTri"
            
        End With
        
    End With

End Sub

Sub SupprimererBoutonBarreCell()

    Dim Bouton As CommandBarButton
    
    'dans la barre d'outils Cell (clic droit dans cellule)
    With CommandBars("Cell")
        
        'rend à nouveau opérationnel la commande de tri Excel
        .Controls("&Trier").Enabled = True
        
        'supprime le bouton. Gestionnaire si déjà supprimé
        On Error Resume Next
        .Controls("Tri perso").Delete
        
    End With

End Sub

Hervé.
 

Discussions similaires

Réponses
3
Affichages
586

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 389
Messages
2 087 933
Membres
103 678
dernier inscrit
bibitm