Désactiver la barre de Menu Feuille de calcul

Delirium

XLDnaute Occasionnel
Bonjour à tous.

Je cherche le code permettant de désactiver la 'barre de Menu de la Feuille de calcul' d'excel à l'ouverture de mon classeur et la réactiver a sa fermeture.

J'y arrive pour les autres barre mais celle-ci je ne sais pas comment faire.

Si quelqu'un a la solution, merci.
 

Dan

XLDnaute Barbatruc
Bonjour,

C'est la barre de menu : fichier, edition, etc ...que tu veux désactiver ? Hum, prudence, prudence,....

Un petit passage par Lien supprimé s'impose... car souvent c'est Lien supprimé qui arrive !

Juste une idée : un plein écran n'est pas assez ?

;)
 

Delirium

XLDnaute Occasionnel
Bonjour Dan et merci pour tes conseils.

Mon classeur s'ouvre déja en plein écran, mais je ne voulais pas que l'utilisateur puisse utiliser les commandes standard d'excel.
Par exemple 'Enregistrer' car je ne veux pas que l'utilisateur modifie ma feuille excel.

Et je l'avoue, je trouve cela plus joli :p .

Mais bon apparament cela peut faire déconner.

c'est dommage :(

J'avais réalisé un code qui enlver les autres barre d'excel.

Avec ces codes :

Dans ThisWorkbook :
Code:
Private Sub Workbook_Open()
Application.ScreenUpdating = False
'Application.DisplayFullScreen = True
InitAffichage
    Columns('A:S').Select
    ActiveWindow.Zoom = True
    Application.Caption = 'DJU'
    ActiveWindow.Caption = ''
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_beforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Application.Caption = Empty
'Application.DisplayFullScreen = False
QuittAffichage
Application.DisplayAlerts = False
Workbooks('Station2.thx').Close SaveChanges:=False
'ActiveWorkbook.Saved = False
Application.ScreenUpdating = True
End Sub

Et dans un module :
Code:
Sub GérerBarres(État)
    Static mesExBarres As New Collection
    Dim maBarre

    If État = xlOn Then
        For Each maBarre In Application.CommandBars
            If maBarre.Type <> 1 And maBarre.Visible Then
                mesExBarres.Add maBarre
                maBarre.Visible = False
            End If
        Next maBarre
    Else
        For Each maBarre In mesExBarres
            maBarre.Visible = True
        Next
    End If
End Sub

Sub InitAffichage()
GérerBarres xlOn
End Sub

Sub QuittAffichage()
GérerBarres xlOff
End Sub

Pense tu que cela aussi peut poser un problème et faire perdre les barres excel ?

Merci pour ton aide.
 

Dan

XLDnaute Barbatruc
Re,

Le problème que je vois ce sont les versions d'Excel par exemple où tel code ne fonctionnera pas ou si, par hasard, tu as un petit malin qui se prend l'idée de recopier ton fichier pour le donner à quelqu'un d'autre en oubliant une macro. Résultats, à l'ouverture le gars perd ses barres de menu et ne les retrouvera pas car tu dois savoir que cette opération est liée à Excel et pas à ton fichier. Donc sur ce forum on évite de donner ce genre de code.

Si je comprends bien ton code, ton classeur est utilisé pour de la consutation uniquement ou aussi pour de l'encodage ?

Ce que tu peux faire c'est lorsque tu feras 'enregistrer sous' ton fichier, aller dans les options et par exemple utiliser un mot de passe et/ou cocher 'lecture recommandée'. Là si l'utilisateur modifie ou veut enregistrer ton fichier ce sera en tant que nouveau et pas sur le tien. Fais quelques essais.

Autre solution si tu es en réseau, c'est dédier un répertoire à ton application et lui donner un droit de lecture uniquement. L'utilisateur pourra dans ce cas uniquement lire ton fichier et pas le modifier. En appliquant les macro BeforeClose que tu mises dans ton post, le fichier restera instact à la fermeture.
 

Delirium

XLDnaute Occasionnel
Bonjour.

En faite dans mon classeur j'ai créé un bouton 'Enregistrer' qui lors du premier enregistrement lance un Userform dans lequel tu renseigne le département et le nom sous lequel il doit être enregistrer.

Ce qui me permet d'enregistrer ce classeur dans le repertoire d'une autre application.

Si tu réouvre le classeur qui a été enregistrer dans le repertoire de l'autre application, la macro qui était afféctée au bouton 'Enregistrer' à été changé, et maintenant ce bouton ne fait que enregistrer le classeur XL.

C'est pour cela que je voulai désactiver cet barre, pour que les boutons 'enregistrer' et 'enregistrer sous' ne soit pas accessibles.

Mais que faire à la place ?
 

Delirium

XLDnaute Occasionnel
Bonjour Dan.

La solution de mettre mon fichier XL en lecture seul n'est pas possible car mon fichier à pour but d'être distribué au personnes voulant l'utiliser.

En fait il sagit d'une appli sous XL utilisé par plusieurs entreprises.

Alors je doit trouver une autre solution.

Merci et à bientôt
 

Discussions similaires

Réponses
56
Affichages
1 K

Statistiques des forums

Discussions
312 361
Messages
2 087 628
Membres
103 613
dernier inscrit
luluinmauritius