Bonjour à tous,
Je voudrais réutiliser une de mes anciennes macro sur une nouvelle application (maintenant sous vba 7.1 et excel 365 version 16.67 sur Mac) et je rencontre une erreur d'exécution 438 "Propriété ou méthode non gérée par cet objet".
Il s'agit de remplacer le menu déroulant clic-droit par défaut d'excel par un menu déroulant personnalisé (8 items "DOSSIERS") dont chaque item est lui-même un sous-menu déroulant "RUBRIQUES". Les items "DOSSIERS" et sous-items "RUBRIQUES" sont définis dans la feuille DOSSIERS.Un clic-droit dans la feuille FEUILLE DE TRAVAIL doit permettre d'afficher mes menu/sous-menus déroulants. Dans la feuille de travail, décliquer sur une cellule quelconque doit afficher le dossier sélectionné dans la colonne 5 et la rubrique sélectionné dans la colonne 6
La macro supprime le PopMenu d'Excel et crée un menu contextuel "ClicDroit": Set ContextMenu = Application.CommandBars _
.Add(Name:="ClicDroit", Position:=msoBarPopup). L'erreur se produit lors de l'affectation des Controls du menu:
.Controls(n).Controls.Add(Type:=msoControlButton, Before:=m).Caption = NomRub(n, m)
.Controls(n).Controls(NomRub(n, m)).OnAction = "'Code_Rubrique " & Chr(34) & NomDossier(n) & Chr(34) & "," & Chr(34) & NomRub(n, m) & Chr(34) & "'"
Je tourne en rond. Merci de voir si vous pouvez m'aider. Jamais mis les pieds sur un forum, n'hésitez pas à me dire si je ne suis pas clair.
Nano
Voici le fichier qui me sert de test