IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Gestion de menu personnalisé pour deux classeurs identiques ouverts


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Gestion de menu personnalisé pour deux classeurs identiques ouverts
    Bonsoir à tous

    Le sujet pour lequel j'ai besoin d'aide concerne la gestion des menus personnalisés dans le cas où deux classeurs identiques sont ouverts simultanément.

    J'ai créé un menu personnalisé que j'appelle dans le Workbook_Open

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
           Call Menu_CopieValeurs  
    End Sub
    Dans un module standard, j'ai mis la procédure de création du menu et en m'aidant de ce que j'ai trouvé dans un forum, je fais en sorte que lorsque deux classeurs identiques sont ouverts, un seul menu s'affiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub Menu_CopieValeurs
    Dim bMarqueur As Boolean
    Dim iNbMenus As Integer              
    Dim iItem As Integer                    
    Dim menuPrin As CommandBarPopup
    Dim menuItem As CommandBarControl 
     
        iNbMenus = Application.CommandBars.ActiveMenuBar.Controls.Count
        For iItem = 1 To iNbMenus
            If Application.CommandBars.ActiveMenuBar.Controls.Item(iItem).Caption = "Copie valeurs des cubes" Then
                bMarqueur = True
            End If
        Next iItem
     
        'CREATION DU MENU PRINCIPAL
        If bMarqueur = False Then
            Set menuPrin = _
                Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:= _
                    msoControlPopup, temporary:=True)
            menuPrin.Caption = "Copie valeurs "
            menuPrin.BeginGroup = True
        End If
    End Sub
    En revanche, lorsqu'on ferme un seul des deux classeurs, le menu disparaît, y compris sur le classeur qui reste ouvert.

    Comment faire pour que le menu reste sur le classeur ouvert.

    Merci d'avance à tous ceux qui pourraient trouver une solution.
    (au bureau, je travaille sur Excel 2003)

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut une idée toute simple
    bonjour pour ton menu perso

    fait le dans un nouveau classeur et sauve le en "xla"
    et fais appel a ton xla quand tu clique droite sur ton classeur ouvert

    ainsi tu prend pas le risque que quand tu ferme le classeur ou se trouve ton module avec le menu contextuel, tu te retrouve sans clic doit perso

    voila

    au plaisir

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut menu perso
    Bonjour patricktoulon

    Merci d'avoir pris le temps de répondre à ma question.

    En fait, il ne s'agit pas d'un menu contextuel mais d'un menu ajouté à la barre de menu Excel.

    J'ai eu par ailleurs une proposition de solution qui fonctionne très bien : il faut mettre le code de création et de suppression du menu personnalisé respectivement dans Workbook_Activate et Workbook_Deactivate.

    Voilà, encore merci

Discussions similaires

  1. Macro de tri personnalisé pour un classeur
    Par bobafric dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/04/2012, 10h28
  2. Probléme de gestion des evenements pour deux JComboBox
    Par cestsourire dans le forum Composants
    Réponses: 1
    Dernier message: 30/04/2008, 16h15
  3. VBA excel : Menu personnalisé et fermeture de classeurs
    Par wushual1 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 03/07/2006, 16h45
  4. Réponses: 2
    Dernier message: 10/06/2006, 13h19
  5. Icone fond transparent pour menu personnalisé
    Par gbuxo dans le forum Access
    Réponses: 17
    Dernier message: 14/04/2006, 06h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo