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

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

  • Test_Menu.xls
    45.5 KB · Affichages: 30
Dernière édition:

Modeste

XLDnaute Barbatruc
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 :p
 
G

Guest

Guest
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:

Orodreth

XLDnaute Impliqué
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
 

Discussions similaires

Statistiques des forums

Discussions
312 236
Messages
2 086 477
Membres
103 228
dernier inscrit
malik832