Macro avec ajout menu clic droit : Application.CommandBars("Formula Bar")

Bonjour,

J'ajoute une option dans le menu clic droit "Formula Bar". (dans la barre de formule ou lorsque le curseur est à l'intérieur d'une cellule)

J'aimerai que lorsque l'utilisateur choisisse cette option, cela lance une macro (simple ajout de texte dans ce qu'il est en train d'écrire) mais les macros ne se lancent pas lorsqu'on est à l'intérieur d'une cellule.

Auriez-vous une solution pour faire fonctionner cela ?

Note : j'arrive tout à fait à faire fonctionner le même principe avec un clic droit sur une cellule en utilisant Application.CommandBars("Cell")

Sub AddToCellMenu()
    Dim ContextMenu As CommandBar
    Dim MyMenu As CommandBarControl

    Set ContextMenu = Application.CommandBars("Formula Bar")
    Set MyMenu = ContextMenu.Controls.Add(Type:=msoControlPopup, before:=1)
    With MyMenu
        With .Controls.Add(Type:=msoControlButton)
            .OnAction = "'" & ThisWorkbook.Name & "'!" & "Ajout_RefClient"
            .Caption = "Référence client"
        End With
    End With
End sub

Sub Ajout_RefClient()
    ActiveCell = Sheets("Feuil1").Range("B4")
End Sub

Si on remplace la ligne Set ContextMenu = Application.CommandBars("Formula Bar") par Set ContextMenu = Application.CommandBars("Cell") ça fonctionne ... mais ça ne fait pas ce que je veux

En vous remerciant.

Sébastien

Bonjour

2312 n'est pas une version Excel mais la révision de plusieurs versions (2021, 365,...) Merci de vérifier et modifier ton profil.

Non, on ne peut intercepter une saisie avant sa validation

j'ai corrigé pour la version d'Excel.

Merci beaucoup pour ce retour

Si je comprends bien, au final, l'ajout d'option dans le menu "Formula Bar" ne sert à rien puisque rien ne démarrera en le sélectionnant.

Je vais devoir contourner cela donc en utilisant Application.CommandBars("Cell") qui ouvrira un Form où là c'est beaucoup plus simple d'interagir dans une saisie en cours.

Encore merci.

Bonsoir SebFa25, le Fil,

Il y a plus simple à réaliser en passant par l'événement Worksheet_Change de la feuille active. Inscrire un terme court comme ZZ ou XX dans la cellule souhaitée parmi les autres données saisies. Puis faire Entrée. Un code de recherche ZZ ou XX et remplace par les Réf client sera lancé automatiquement par le Worksheet_Change.

Rechercher des sujets similaires à "macro ajout menu clic droit application commandbars formula bar"