Modifier le menu déroulant clic-droit sur Excel

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

77test-popup.xlsm (66.31 Ko)


Bonjour Nano de Nantes et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum

Ainsi que sur les fonctionnalités du nouveau forum

Pour ce qui est de votre demande, vous avez un certain nombre de références manquantes

image

Décochez les, vous verrez ça ira nettement mieux

Merci de votre participation

Cordialement

Merci Bruno. J'avais bien lu la charte, mais pas les fonctionnalités. Et j'ai rédigé ma petite présentation.
Dans mes références VBA, la MS Word Library 14.0 était obsolète. J'ai mis à jour (v16.0), mais malheureusement, ça ne va pas "nettement" mieux (au moins pour mon problème de bug les les Controls).
Je continue de chercher.

ref vba project

Re,

Voici ce que j'ai, pas vous

image

A+

Super, c'est exactement ce que je voudrais, mais moi j'ai cette erreur d'exécution 438 "Propriété ou méthode non gérée par cet objet". Bug sur la ligne de code:

.Controls(n).Controls.Add(Type:=msoControlButton, Before:=m).Caption = NomRub(n, m)

et sur la suivante!!

Un problème dans ma config ? On n'a pas le même compilateur ou pas les mêmes bibliothèques ?

Re,

Perso je décocherai le max de références pour voir

Merci de ton aide.

J'ai décoché tout ce qui est autorisé, mais ça ne change rien.

capture d e cran 2022 11 21 a 20 04 18

Pourtant, je ne vois pas d'autre explication qu'un compilo différent du tiens (moi j'ai VBA 7.1) ou une bibliothèque manquante (ou endommagée...). Quelle est ta version de VBA et quelles sont tes bibliothèques référencées ? Je continue mes tests et je cherche une autre formulation de mon code, mais ça m'énerve un peu de ne pas comprendre.

Je vais dormir là-dessus... ça ira peut-être mieux demain.

Re,

J'ai la même chose que toi

As-tu quitté Excel et réouvert

A+

Oui, j'avais tenté ça aussi.

Re,

Essaye ce fichier

Si bug, c'est ta config qui à un souci, une réparation d'office à faire peut-être

A+

Merci pour ton fichier. En l'ouvrant, j'obtiens d'abord ça:

capture d e cran 2022 11 21 a 22 05 07

puis ça:

capture d e cran 2022 11 21 a 22 09 53

En optant pour "Afficher", je vois que la macro a disparu. S'ouvre aussi cette feuille:

capture d e cran 2022 11 21 a 22 15 58

Et je n'ai aucune compétence pour interpréter et utiliser ces infos(???)

Je vais donc suivre ton conseil et tenter demain une ré-install d'office 365.

Merci encore.

Re,

Arf... mais que vois-je... tu es sur Mac, je n'avais pas fait gaffe dans ta demande

Donc ne cherche pas plus loin, il serait bien de le noter dans ton profil

OK, c'est fait.

Bonsoir

Bonjour à tous,

Bon, après mes échanges avec BruneauM45 (que je remercie) et malgré avoir réinstallé Office 365 sur mon Imac, mon problème d'erreur d'exécution 438 sous VBA reste entier. Si quelqu'un a une expérience de remplacement du clic-droit par défaut d'excel par un menu déroulant personnalisé, je suis preneur d'un tel exemple.

Merci

Bonjour Nano de Nantes

Le problème n'est pas de savoir comment remplacer le clic droit par un menu personnalisé !

Le souci est de savoir comment le faire sur iMac... et là c'est une autre paire de manche

Je te conseille vivement de trouver un forum pro mac qui traite du VBA

A+

Bonjour Bruno,

OK, je vais rechercher un autre forum. Je pense que je pourrais peut-être trouver des pistes sur l'excellent site de Ron de Bruin ( www_dot_rondebruin_dot_nl).

Merci encore.
A+

Rechercher des sujets similaires à "modifier menu deroulant clic droit"