Bonjour,
J'ai un classeur contenant plusieurs feuilles, pour lesquelles je veux faire apparaitre le moins possible EXCEL, car l'utilisateur n'a a faire que des saisies directes dans les feuilles, sans avoir besoin des différents menus d'EXCEL, et parce que je veux exploiter au maximum l'écran.
Durant l'utilisation de ce classeur "spécial", on peut être amené à en utiliser un autre à côté, qui a besoin de l'aspect "normal" d'EXCEL...
J'ai donc créé différents événements placés dans "ThisWorkbook", censés faire tout çà :
Le problème, c'est que çà ne marche pas à tous les coups :
- quand je passe sur un autre classeur ("normal"), le ruban et la barre de formule demeurent parfois (souvent) encore masqués, alors que j'ai bien une réapparition des entêtes de lignes/colonne, et de la grille.
- quand je repasse d'une feuille à l'autre de mon classeur ("spécial"), la barre de formule revient parfois.
- idem lorsque je repasse de mon classeur "normal", à mon classeur "spécial" : la barre de formule et/ou les entêtes de lignes/colonne réapparaissent parfois...
J'ai tenté de ralentir mon code en ajoutant une petite boucle entre chaque ligne : aucun effet!
Et je n'ai pas trouvé de réponse dans ce forum, à part qu'ici : VBA: Hide ribbon & others, how to limit to one workbook?, çà me porte à croire que j'ai bien fait mon code. (si j'ai bien compris le gars)
Bref, après avoir tout essayé, je suis perdu!
Merci d'avance pour vos conseils
J'ai un classeur contenant plusieurs feuilles, pour lesquelles je veux faire apparaitre le moins possible EXCEL, car l'utilisateur n'a a faire que des saisies directes dans les feuilles, sans avoir besoin des différents menus d'EXCEL, et parce que je veux exploiter au maximum l'écran.
Durant l'utilisation de ce classeur "spécial", on peut être amené à en utiliser un autre à côté, qui a besoin de l'aspect "normal" d'EXCEL...
J'ai donc créé différents événements placés dans "ThisWorkbook", censés faire tout çà :
Sub Workbook_Open()
Application.ScreenUpdating = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
Application.DisplayFormulaBar = False
ActiveWindow.DisplayHeadings = False
ActiveWindow.DisplayGridlines = False
Application.DisplayFullScreen = True
Application.DisplayStatusBar = False ' (là j'hésite car certains mettent "Not Application.DisplayStatusBar" à la place de "False")
Application.WindowState = xlMaximized
ActiveWindow.WindowState = xlMaximized
Application.ScreenUpdating = True
End Sub
Sub Workbook_activate()
Application.ScreenUpdating = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
Application.DisplayFormulaBar = False
ActiveWindow.DisplayHeadings = False
ActiveWindow.DisplayGridlines = False
Application.DisplayFullScreen = True
Application.DisplayStatusBar = False
Application.WindowState = xlMaximized
ActiveWindow.WindowState = xlMaximized
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
Application.DisplayFormulaBar = True
Application.DisplayFullScreen = False
ActiveWindow.View = xlNormalView
ActiveWindow.DisplayHeadings = True
ActiveWindow.DisplayGridlines = True
Application.DisplayStatusBar = True
ActiveWindow.DisplayHorizontalScrollBar = True
ActiveWindow.DisplayVerticalScrollBar = True
Application.DisplayFullScreen = False
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_Deactivate()
Application.ScreenUpdating = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
Application.DisplayFormulaBar = True
ActiveWindow.View = xlNormalView
ActiveWindow.DisplayHeadings = True
ActiveWindow.DisplayGridlines = True
Application.DisplayStatusBar = True
ActiveWindow.DisplayHorizontalScrollBar = True
ActiveWindow.DisplayVerticalScrollBar = True
Application.DisplayFullScreen = False
Application.ScreenUpdating = True
End Sub
Application.ScreenUpdating = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
Application.DisplayFormulaBar = False
ActiveWindow.DisplayHeadings = False
ActiveWindow.DisplayGridlines = False
Application.DisplayFullScreen = True
Application.DisplayStatusBar = False ' (là j'hésite car certains mettent "Not Application.DisplayStatusBar" à la place de "False")
Application.WindowState = xlMaximized
ActiveWindow.WindowState = xlMaximized
Application.ScreenUpdating = True
End Sub
Sub Workbook_activate()
Application.ScreenUpdating = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
Application.DisplayFormulaBar = False
ActiveWindow.DisplayHeadings = False
ActiveWindow.DisplayGridlines = False
Application.DisplayFullScreen = True
Application.DisplayStatusBar = False
Application.WindowState = xlMaximized
ActiveWindow.WindowState = xlMaximized
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
Application.DisplayFormulaBar = True
Application.DisplayFullScreen = False
ActiveWindow.View = xlNormalView
ActiveWindow.DisplayHeadings = True
ActiveWindow.DisplayGridlines = True
Application.DisplayStatusBar = True
ActiveWindow.DisplayHorizontalScrollBar = True
ActiveWindow.DisplayVerticalScrollBar = True
Application.DisplayFullScreen = False
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_Deactivate()
Application.ScreenUpdating = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
Application.DisplayFormulaBar = True
ActiveWindow.View = xlNormalView
ActiveWindow.DisplayHeadings = True
ActiveWindow.DisplayGridlines = True
Application.DisplayStatusBar = True
ActiveWindow.DisplayHorizontalScrollBar = True
ActiveWindow.DisplayVerticalScrollBar = True
Application.DisplayFullScreen = False
Application.ScreenUpdating = True
End Sub
Le problème, c'est que çà ne marche pas à tous les coups :
- quand je passe sur un autre classeur ("normal"), le ruban et la barre de formule demeurent parfois (souvent) encore masqués, alors que j'ai bien une réapparition des entêtes de lignes/colonne, et de la grille.
- quand je repasse d'une feuille à l'autre de mon classeur ("spécial"), la barre de formule revient parfois.
- idem lorsque je repasse de mon classeur "normal", à mon classeur "spécial" : la barre de formule et/ou les entêtes de lignes/colonne réapparaissent parfois...
J'ai tenté de ralentir mon code en ajoutant une petite boucle entre chaque ligne : aucun effet!
Et je n'ai pas trouvé de réponse dans ce forum, à part qu'ici : VBA: Hide ribbon & others, how to limit to one workbook?, çà me porte à croire que j'ai bien fait mon code. (si j'ai bien compris le gars)
Bref, après avoir tout essayé, je suis perdu!
Merci d'avance pour vos conseils
Dernière édition: