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 :

Modification de la barre de menu


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 66
    Par défaut Modification de la barre de menu
    Salut a tous les développeurs

    J'essaye depuis peu de modifier la barre de menu Excel par VBA.
    Pour ce qui est du contenu des menu, c'est déjà résolu. je souhaite actuellement modifier l'icône Excel qui reste présente dans la nouvelle barre.Si c'est possible, bien vouloir me filer le tuyau.
    Ma deuxième préoccupation est de supprimer le bouton "Fermer la fenêtre" sur cette barre. j'ai essaye le code suivant mais il supprime plutôt le bouton "Fermer" de l'application Excel.

    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
    29
    30
    31
    32
    33
    34
    35
    Private Const MF_BYPOSITION As Long = &H400
     
    Private Const mlNUM_SYS_MENU_ITEMS As Long = 9
     
    Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
     
    Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
     
    Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
     
    Public Sub DisableSystemMenu()
     
      Dim lHandle As Long, lCount As Long
     
      On Error Resume Next
     
      lHandle = FindWindowA(vbNullString, Application.Caption)
     
      If lHandle <> 0 Then
     
        DeleteMenu GetSystemMenu(lHandle, False), 6, &H400
      End If
     
    End Sub
    Public Sub EnableSystemMenu()
     
      Dim lHandle As Long
     
      On Error Resume Next
     
      lHandle = FindWindowA(vbNullString, Application.Caption)
     
      GetSystemMenu lHandle, True
     
    End Sub
    Merci pour toutes vos réactions

    A bientôt

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    je souhaite actuellement modifier l'icône Excel

    Comment changer l'icône d'un classeur ?


    bonne soirée
    michel

  3. #3
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour


    Ma deuxième préoccupation est de supprimer le bouton "Fermer la fenêtre" sur cette barre.
    Cet exemple ne supprime pas mais bloque l'utilisation de la croix. J'ai présumé que ton classeur dispose d'un bouton de fermeture en remplacement de la croix de fermeture.
    Bien entendu ça ne fonctionne pas si l'utilisateur désactive les macros ...


    Dans le module ThisWorkbook du classeur :
    La fermeture du classeur est bloqué tant que la variable boolFermeture = False.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Explicit
     
    Private Sub Workbook_Open()
        boolFermeture = False
    End Sub
     
     
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        'Empêche la fermeture du classeur tant
        'que la variable ne sera pas à True
        If boolFermeture = False Then Cancel = True
    End Sub


    Dans un module standard

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Option Explicit
     
    Public boolFermeture As Boolean


    Dans le module de feuille contenant un bouton nommé CommandButton1, permettant la fermeture du classeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Option Explicit
     
    Private Sub CommandButton1_Click()
        'Fermeture du classeur en sauvegardant
        'les modifications.
        boolFermeture = True
        ThisWorkbook.Close True
    End Sub


    bon après midi
    michel

Discussions similaires

  1. Barre de menu
    Par smicky77 dans le forum Access
    Réponses: 11
    Dernier message: 03/02/2006, 18h15
  2. Comment faire une Barre de Menu?
    Par gamerome dans le forum OpenGL
    Réponses: 5
    Dernier message: 18/02/2005, 14h46
  3. [MFC] Supprimer la barre de menu
    Par Kevgeii dans le forum MFC
    Réponses: 8
    Dernier message: 27/11/2004, 17h09
  4. barre de menu principal
    Par norfelt dans le forum IHM
    Réponses: 10
    Dernier message: 27/10/2003, 11h37
  5. Comment créer des barres de Menu ?
    Par MoKo dans le forum IHM
    Réponses: 5
    Dernier message: 30/07/2003, 14h58

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