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 :

Position Menu Excel [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 78
    Points : 63
    Points
    63
    Par défaut Position Menu Excel
    Bonjour,

    Je suis parti d'un code trouvé sur internet pour créer un menu dans excel .
    Le probléme c'est que pour l'afficher l'utilisateur est obligé de cliquer sur l'icone menu à Gauche je vous joins la copie ecran .

    Est il possible de faire en sorte que le menu s'affiche des l'ouverture du fichier sans cliquer sur le bouton menu
    .

    Voici le code dans le workbook

    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
    Option Explicit
     
    Private Sub Workbook_Open()
        Application.Run "Bouton"
    End Sub
     
    Private Sub Workbook_NewSheet(ByVal Sh As Object)
        Dim M_L As Single, M_T As Single
        If Menu_On Then
            M_L = Menu.Left: M_T = Menu.Top
            Unload Menu
            Menu.StartUpPosition = 0
            Menu.Left = M_L: Menu.Top = M_T
            Menu.Show
        End If
    End Sub
     
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        On Error Resume Next
        Application.CommandBars("Menu_Page").Delete
    End Sub
    Code du module

    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
    24
    25
    26
    27
    28
    Option Explicit
     
    Public Menu_On As Boolean
     
    Private Sub Bouton()
    On Error Resume Next
    Dim Alea As Byte, CMB As CommandBar, obj As Object
    Application.CommandBars("Menu_Page").Delete
     
    Set CMB = Application.CommandBars.Add("Menu_Page")
    With CMB
        .Position = msoBarFloating
        .Visible = True
        .Controls.Add Type:=msoControlButton
    End With
     
    With CMB.Controls(1)
        .Caption = "Afficher le Menu"
        .OnAction = "Call_Menu"
        .Width = 30
        .Height = 30
        .FaceId = 172
    End With
     
    End Sub
    '_________________________________________________________________________________________________________
     
    Private Sub Call_Menu(): Menu.Show 0: End Sub
    Merci de votre aide
    Images attachées Images attachées   

  2. #2
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Bonjour,

    Je ne sais pas si c'est ce que tu veux mais avec simplement ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    'Dans ThisWorkbook
     
    Private Sub Workbook_Open()
     
        Call_Menu
     
    End Sub
    à l'ouverture du classeur, la macro "Call_Menu" sera exécuté

    Si ce n'est pas ce que tu veux, explique un peu plus

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 78
    Points : 63
    Points
    63
    Par défaut
    désolé mais je suis vraiment débutant, si je remplace le code dans le workbook par le tiens ca ne fonctionne plus .

    En fait ce que je souhaite c'est qu'il n'y ai plus de boutons mais que le menu s'affiche des l'ouverture sans que l'on ai besoin de cliquer sur le bouton.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 388
    Points : 437
    Points
    437
    Par défaut
    Je présume que Menu représente un UserForm, si c'est le cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
         Menu.Show 0 
    End Sub
    Le reste ne sert à rien si ce n'est à créer une barre flottante avec 1 bouton qui appelle ton formulaire.
    Comme tu ne veux pas de bouton appelle directement ton formulaire à l'ouverture.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 78
    Points : 63
    Points
    63
    Par défaut
    Merci beaucoup c'est exactement ce que je voulais

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme position menu vertical
    Par asco5 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 06/08/2008, 09h22
  2. Activer un menu Excel depuis un programme VBA Access
    Par gbuxo dans le forum VBA Access
    Réponses: 9
    Dernier message: 27/11/2007, 10h58
  3. position menu contextuel sous ie et firefox
    Par lodan dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 21/05/2007, 22h43
  4. [VBA-E]supprimer les barres de menu Excel
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/03/2006, 10h02
  5. Fonctions via menu excel
    Par djid72 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/03/2005, 11h44

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