Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro AUTO_CLOSE attachée à un menu

21 réponses
Avatar
Cervolent
Bonjour à vous les professionnels d'Excel et merci d'avance pour vos réponses
Sous EXCEL 2002 :
La macro "Auto_Open" qui s'exécute dans mon fichier, personnalise
l'environnement Excel en ajoutant une barre de menu personnalisée "Menu
Diaporama". Dans cette barre d'outils j'insére une commande "Quitter" qui
exécute la macro "Auto_Close".
Cette macro "Auto_Close" supprime la barre d'outils "Menu diaporama" et
replace l'environnement EXCEL tel qu'il était au départ, mais comme la
commande d'exécution se trouve dans ladite barre, Excel Plante.
Comment faire disparaitre cette barre de menu "Menu Diaporama" ou la
commande "Quitter" qui exécute la macro qui la supprime ???
J'aimerais que cela se fasse autrement que par l'intermédiaire d'un autre
fichier (bibliothèque macro style Perso.xls) car je dois diffuser uniquement
ce fichier par CD et messagerie à une 100 aine d'utilisateurs.

Merci, à vous ...

1 réponse

1 2 3
Avatar
MichDenis
Bonjour Cervolent,

Crée un fichier exemple à partir de ta version, et envoie-le moi dans ma BAL. Je le testerai ! Nous verrons alors si c'est seulement
une histoire de version .


Salutations!


"Cervolent" a écrit dans le message de news:

Re bonjour MitchDenis,

ça ne marche pas mieux, toujours cette erreur Excel, je vais faire comme je
le pensais dans l'autre fil, cad de créé la barre de menu à la première
utilisation puis pour les suivantes utilisations le test sur son existance
... pour la rendre visible et la masquer à la fermeture ....
Je te remercie quand même pour le temps que tu m'a consacré ... au plaisir
pour de nouvelles aventures ...


Bonjour Cervolent,

Je ne vois aucune raison pourquoi ta procédure fait planter ton application. Excel 2002 ou 2003, cela devrait tourner normalement.
As-tu essayé de copier ces procédures (seulement celles attachées à la gestion de tes barres d'outils) dans un fichier tout neuf ?

Est-ce que cela fonctionne ?


Salutations!



"Cervolent" a écrit dans le message de news:

Salut MitchDenis,
Après correction de ma macro rien n'y fait ... le plantage continu ...
Est-ce le fait que tu ai Excel 2003 qui fait que ça marche chez toi et moi
2002 ???

Je vais devoir me résoudre à créer un 2eme fichier, masqué, dans lequel sera
placé la macro quitter, lequel fichier de macro ne sera pas fermé lors de la
fermeture du fichier de travail !!!

Qu'estce que t'en penses ??? si j'envois le rapport à microsoft qu'est ce
qui se passe ... il résolve mon problème ou pas ????

Désolé d'insister je vois pas d'autre méthode ...

Merci pour ta patience MithcDenis

-----------------------------------------------

Bonjour Cervolent,

J'ai testé ta procédure avec excel 2003, ça fonctionne très bien.

Suggestion pour résoudre ton problème :

Cette section, tu dois la copier obligatoirement dans le ThisWorkbook de ton Classeur :
'--------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Worksheet Menu Bar").Enabled = True
Application.CommandBars("Standard").Visible = True
Application.CommandBars("Formatting").Visible = True
Application.CommandBars("Drawing").Visible = True
Application.CommandBars("Menu Diaporama").Delete
With Application
.DisplayFormulaBar = True
.DisplayStatusBar = True
.ShowWindowsInTaskbar = True
End With
End Sub
'--------------------------------------


Tout ce qui suit va dans un module standard :

'----------------------------------
Sub Auto_Open()

Application.ScreenUpdating = False
Application.CommandBars("Worksheet Menu Bar").Enabled = False
Application.CommandBars.Add(Name:="Menu Diaporama").Visible = True
Application.CommandBars("Menu Diaporama").Position = msoBarTop
Application.CommandBars("Standard").Visible = False
Application.CommandBars("Formatting").Visible = False
Application.CommandBars("Drawing").Visible = False
Application.CommandBars("Forms").Visible = False
Application.CommandBars("Picture").Visible = False
Application.CommandBars("Protection").Visible = False
Application.CommandBars("Reviewing").Visible = False
With Application
.DisplayFormulaBar = False
.DisplayStatusBar = False
.ShowWindowsInTaskbar = False
End With
'Création des menus
Ajout_Menu
End Sub

'----------------------------------
Sub Ajout_Menu()

Application.CommandBars("Menu Diaporama").Controls.Add Type:= _
msoControlComboBox, ID:33, Before:=1, temporary:=True
Set newItem = Application.CommandBars("Menu Diaporama") _
.Controls.Add(Type:=msoControlPopup, Before:=1, temporary:=True)

With newItem
.BeginGroup = True
.Caption = "Quitter"
.OnAction = "Quitter"
End With
End Sub

'----------------------------------
Sub Quitter()
'Rétablissement des barres de menu et d'outils avant fermeture du fichier
ThisWorkbook.Close SaveChanges:úlse
End Sub
'----------------------------------


Salutations!










1 2 3