Zone de texte dans un sous menu d'une barre de commande perso

elgringo123456

XLDnaute Occasionnel
Supporter XLD
Bonjour,

Je vous sollicite car cela fait depuis quelques jours je suis sur ce problème et je n'arrive pas à le résoudre, je m'en remets donc à vos lumières.

Objectif : créer une zone de texte dans un sous menu d'une barre d'outils Excel personnalisé

J'ai laissé en pièce jointe le fichier au format xls.

Dans l'exemple souhaité, il y a un sous menu nommé IT. Dans ce sous menu il doit y avoir 3 boutons :
1. Afficher Icone
2. Supprimer Icone
3. Zone de texte

Quand j'essaie de déposer cette zone de texte (msoControlEdit) dans le sous menu, je ne le vois pas. Par contre si je dépose la zone de texte dans la barre d'outils sans la déposer dans le sous menu cela fonctionne.

Pourriez-vous m'aider à insérer cette zone de texte dans le sous menu ? Je pense n'avoir pas compris un aspect ?

Merci d'avance de votre aide et compréhension,

Cordialement.

El gringo 123456
 

Pièces jointes

  • Classeur1.xls
    42 KB · Affichages: 88
  • Classeur1.xls
    42 KB · Affichages: 84
  • Classeur1.xls
    42 KB · Affichages: 84

Staple1600

XLDnaute Barbatruc
Re : Zone de texte dans un sous menu d'une barre de commande perso

Bonsoir


Il suffit de remplacer Function par Sub ;)

Code:
Sub test_ok()
BarreMacrosInit "BARRETEST"
End Sub
Sub BarreMacrosInit(NomBarre As String)
' Création de la barre d'outils personnalisé

    Dim nvbar As CommandBar                                                                                                                   ' Barre d'outils
    Dim contextuelTOOLS As CommandBarPopup, contextuelCOLLER As CommandBarPopup, contextuelIT As CommandBarPopup                              ' Sous menus
    Dim boutonsTOOLS, boutonsCOLLER As CommandBarButton, boutonsIT As CommandBarButton                                                        ' Sous Menu
    Dim contextuelITbouton1 As CommandBarButton, contextuelITbouton2 As CommandBarButton    ' Boutons
    Dim contextuelITbouton3 As Variant
    
    ' Barre d'outils
    Set nvbar = Application.CommandBars.Add(Name:=NomBarre, Position:=msoBarTop, Temporary:=True)
    nvbar.Visible = True
    nvbar.Enabled = True
    
    ' Menu IT
    Set contextuelIT = nvbar.Controls.Add(msoControlPopup)
    contextuelIT.Caption = "IT"
    contextuelIT.TooltipText = "Personnalisation Excel"
    
    'Boutons du menu IT
    'Set boutonsIT = nvbar.Controls.Add(msoControlButton, 2950)
    Set contextuelITbouton1 = contextuelIT.Controls.Add(msoControlButton)
    contextuelITbouton1.FaceId = 2950
    contextuelITbouton1.Caption = "Affichage Icônes Excel"
    contextuelITbouton1.OnAction = "A_BarrePerso.AfficherBoutons"
    
    Set contextuelITbouton2 = contextuelIT.Controls.Add(msoControlButton)
    contextuelITbouton2.FaceId = 2950
    contextuelITbouton2.Caption = "Suppression Icônes Excel"
    contextuelITbouton2.OnAction = "A_BarrePerso.EffacerBoutons"
    
    'Set contextuelITbouton3 = contextuelIT.Controls.Add(msoControlButton)
    Set contextuelITbouton3 = contextuelIT.Controls.Add(msoControlEdit)
    contextuelITbouton3.Style = msoComboLabel
    contextuelITbouton3.Caption = "Texte :"
    contextuelITbouton3.TooltipText = "info-bulle zone txt 2"
    contextuelITbouton3.Tag = "txt2"
    contextuelITbouton3.OnAction = "MaMacro2"
    contextuelITbouton3.BeginGroup = True
    
    With CommandBars(NomBarre).Controls.Add(Type:=msoControlEdit)
        .Style = msoComboLabel
        .Caption = "Texte :"
        .TooltipText = "info-bulle zone txt 2"
        .Tag = "txt2"
        .OnAction = "MaMacro2"
        .BeginGroup = True
    End With
    
End Sub

Sub BarreMacrosEnd(NomBarre As String)
' Suppression de la barre d'outils personnalisé

    On Error Resume Next
    Application.CommandBars(NomBarre).Delete
End Sub

Sub MenuCell(stCde As String, stMess As String)
' Ajout d'un bouton dans le menu contextuel (click droit)
    
    Dim Mc As CommandBarControls
    Dim Bo As CommandBarButton

    Set Mc = CommandBars("Cell").Controls
    Set Bo = Mc.Add(msoControlButton, Temporary:=True)
    Bo.Caption = stMess
    Bo.OnAction = stCde
End Sub
 

elgringo123456

XLDnaute Occasionnel
Supporter XLD
Re : Zone de texte dans un sous menu d'une barre de commande perso

Bonjour Staple600,

J'ai effectué un copié / coller de ton code dans le fichier joint. J'ai supprimé les éléments :

+ With CommandBars(NomBarre).Controls.Add(Type:=msoControlEdit)
[...]

End With

+ Function MenuCell(stCde As String, stMess As String)
[...]

Et je n'arrive toujours pas à voir dans le menu contextuel IT la zone de texte.
Pour info, je suis sur Excel 2007 et j'ai bien executé la macro test_ok()

Je n'arrive pas à voir ou est mon erreur.

Pour info j'ai également réalisé une impression écran du résultat et on constate la présence des boutons Affichage et Suppression. Par contre, la zone de texte n'est pas présente dans le menu "IT".

Encore désolé de vous importuner.

Merci d'avance,
Cordialement.
El Gringo 123456
 

Pièces jointes

  • TEST.xls
    33 KB · Affichages: 62
  • TEST.xls
    33 KB · Affichages: 71
  • TEST.xls
    33 KB · Affichages: 70
  • Resultat.JPG
    Resultat.JPG
    13.5 KB · Affichages: 119
  • Resultat.JPG
    Resultat.JPG
    13.5 KB · Affichages: 126
  • Resultat.JPG
    Resultat.JPG
    13.5 KB · Affichages: 132

elgringo123456

XLDnaute Occasionnel
Supporter XLD
Re : Zone de texte dans un sous menu d'une barre de commande perso

Bonjour,

Après avoir testé sur plusieurs PC je me rend compte que la création d'une zone texte (msoControlEdit) dans un sous-menu (CommandBarPopup) ne fonctionne pas.
En recherchant également sur Internet il y a des démonstrations par impression écran de la possibilité d'ajouter une zone de texte (ou selection d'une liste) dans un sous-menu.

Ex : CRÉATION DE MENUS SOUS EXCEL, WORD ET POWERPOINT, Tutoriel N°913,

Je ne sais plus quelle hypothèse émettre ou voire le problème de configuration de mon Excel qui explique son non fonctionnement.

Je m'en remets à vous.

Merci d'avance de vos éclaircissements sur le sujet
Cordialement


:confused: :confused: :confused:
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 330
Messages
2 087 347
Membres
103 526
dernier inscrit
HEC