[RESOLU] Moteur de ContextMenu dynamique sur 2 niveaux, le tri plante ???

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

Orodreth

XLDnaute Impliqué
Bonjour à tous et à toutes, le forum.

Je finalise l'appli de planning sur laquelle je bosse en même temps.
J'ai estimé qu'un menu contextuel (clic droit souris) était plus pratique que des boutons pour diriger l'application depuis Excel, donc j'ai commencé à coder ce menu.

Pour le sport, j'ai voulu le faire dynamique, ce qui m'a trituré les méninges toute la matinée jusqu'à réussir à faire mon petit moteur dynamique.

Jusque là, pas de soucis.

J'ai voulu hiérarchiser le dit menu contextuel, et j'ai rajouté une notion de tri sur le moteur.
Jusqu'à il y a 20 minutes, ça marchait à fond. Pas de problème.

Sauf que maintenant, il me fait une "Erreur d’exécution 1004 "Référence de tri non valide ..."
Précisément, je sais que le problème se produit quand le code exécuté pour le tri n'est pas sur ma feuille de menu, alors qu'il marche très bien quand je fais l'effort de me positionner dessus.
Ça ne m'arrange pas vu que cette feuille doit être invisible pour l'utilisateur (feuille de paramétrage système), et n'être accessible que par VBA (propriété visible = xlsheetHidden)

Quelqu'un peut m'aider pour ce tri qui pose problème ? J'avoue que je sèche complètement là ...

Ci-joint, un petit classeur avec le code purement technique.
La procédure qui pose problème est "private TriMenu" dans le module "Menu".

Merci d'avance,
Cordialement,
Orodreth
 

Pièces jointes

Dernière édition:
Re : Moteur de ContextMenu dynamique sur 2 niveaux, le tri plante ???

Salut Orodreth,

Je serais absolument incapable de t'aider, mais avec ce que j'ai cru comprendre, tu pourrais jeter un oeil à cette discussion
Le point de départ est une proposition de tototiti, à laquelle se sont associés Dranreb, David84, Efgé, MJ13, Misange et Zon
D'autres liens sont cités dans ce fil ... à toi de voir, si ça peut t'aider!? Le tout ... si j'ai bien compris 😛
 
Re : Moteur de ContextMenu dynamique sur 2 niveaux, le tri plante ???

Bonjour,

Il te manquait les . (points) devant les Range de key1:= .Range.... et key2:= .Range....

Code:
Private Sub TriMenu(fin_Ligne_Menu As Long, WS_Menu As Worksheet)
    With WS_Menu
        With .Range("A3:F" & CStr(fin_Ligne_Menu))
            .Sort Key1:=.Range("C3"), Order1:=xlAscending, Key2:=.Range("F3") _
            , Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, _
            Orientation:=xlTopToBottom
        End With
    End With
End Sub

A+

[edition] hello Modeste🙂🙂🙂
 
Dernière modification par un modérateur:
Re : Moteur de ContextMenu dynamique sur 2 niveaux, le tri plante ???

Bonjour Modeste, Hasco, le fil, le forum

Déjà merci à vous deux pour vos réponses (Modeste pour le débat passionnant à lire, et Hasco pour la solution)

Quant à la solution ...

*se frappe la tête sur le bureau*
Merci Hasco, ça marche. Juste pas vu ces petits points ... du coup je me sens un peu ridicule ...

Bon, en tout cas, merci, ça remarche super 🙂

Cordialement,
Orodreth
 
- 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

Retour