XL 2019 Macro plein ecran uniquement sur classeur

guiyom

XLDnaute Junior
Bonjour,

Je rencontre actuellement un problème avec l'utilisation d'une macro qui applique un "plein ecran" (retire le ruban et la barre de formule).

La macro une fois activé applique le paramètre à excel et pas seulement au classeur contenant la macro comme je le souhaite.

En gros, si le classeur contenant la macro plein écran et ouvert et la macro active, le paramètre s'appliquera à tout autre classeur excel ouvert après celui-ci.

Y a t'il un moyen de résoudre ce problème ?

Voici le code utilisé :
VB:
         With Application
        ' le ruban
        Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",false)"
        ' la barre de formule
        Application.DisplayFormulaBar = False
    End With
    With ActiveWindow
        ' scroll barre horizontale
        .DisplayHorizontalScrollBar = False
        ' scroll barre verticale
        .DisplayVerticalScrollBar = False

Cordialement
 

Pièces jointes

  • test.xlsm
    18.3 KB · Affichages: 19

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Guiyom,
Pas tout compris : "le paramètre s'appliquera à tout autre classeur excel ouvert après celui-ci. "
Si c'est après que ce fichier soit fermé, il suffit de mettre une macro BeforeClose dans ThisWorkbook pour tout rétablir correctement.
D'ailleurs c'est une saine démarche de rendre en sortant l'environnement qu'il y avait au début.
 

patricktoulon

XLDnaute Barbatruc
re
bonjour le fil
par contre pour deux ( ou plus) classeurs ouverts dans la même instance simultanément ça sera plus dur les événement windowactivate et déactivate sont quasiment inutiles

cela dit tu peux faire ceci
dans le module thisworkbook
VB:
Private Sub Workbook_Open(): FullScreen True: End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean): FullScreen False: End Sub
'
Private Sub Workbook_Activate(): FullScreen True: End Sub
Private Sub Workbook_Deactivate(): FullScreen False: End Sub
'

'la sub fullscreen 
Public Sub FullScreen(t)
Application.DisplayFullScreen = t
'
'ajouter les display bars et compagnie ici avec t ou not t 
End Sub
 

guiyom

XLDnaute Junior
Bonjour Guiyom,
Pas tout compris : "le paramètre s'appliquera à tout autre classeur excel ouvert après celui-ci. "
Si c'est après que ce fichier soit fermé, il suffit de mettre une macro BeforeClose dans ThisWorkbook pour tout rétablir correctement.
D'ailleurs c'est une saine démarche de rendre en sortant l'environnement qu'il y avait au début.
Bonsoir Sylvanu, Patricktoulon, le forum

Pour apporter quelques précisions, je travaille à l'aide d'un tableau comprenant la formule indiquée dans le premier post

Celui-ci est ouvert en permanence sur mon poste de travail car des modifications ont lieu continuellement, il comprend des macros d'impression, sauvegarde etc donc totalement autonome.

Cependant je suis amené à ouvrir d'autre tableaux en simultané auquel le paramètre "plein écran" s'applique alors qu’eux ne sont pas étudier pour permettre des impressions, sauvegarde etc.

PS: Le BeforeClose est bien utilisé afin de reméttre tout en ordre à la fermeture.
re
bonjour le fil
par contre pour deux ( ou plus) classeurs ouverts dans la même instance simultanément ça sera plus dur les événement windowactivate et déactivate sont quasiment inutiles

cela dit tu peux faire ceci
dans le module thisworkbook
VB:
Private Sub Workbook_Open(): FullScreen True: End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean): FullScreen False: End Sub
'
Private Sub Workbook_Activate(): FullScreen True: End Sub
Private Sub Workbook_Deactivate(): FullScreen False: End Sub
'

'la sub fullscreen
Public Sub FullScreen(t)
Application.DisplayFullScreen = t
'
'ajouter les display bars et compagnie ici avec t ou not t
End Sub
J'ai peut être mal compris votre méthode mais j'observe le même résultat.
Merci à vous pour votre contribution.

Cordialement
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re Bonjour tout le monde,
Au vu de vos dernières explication, pourquoi ne pas ouvrir deux sessions XL, elles sont indépendantes.
Une fois votre fichier plein écran ouvert, vous faites clic droit sur l'icone XL puis sur Excel. A ce moment s'ouvre un "deuxième" XL mais indépendant du premier. Comme le montre l'exemple ci dessous avec un XL ( ici en gris ) et un XL ( ici en bleu ), les options sont liés à la session.
excel.jpg
 

Oriaux

XLDnaute Nouveau
Bonjours,

Je rencontre le même soucis que vous @guiyom , j'ai un fichier Excel qui me sert d'interface, sur ce fichier j'ai utiliser la macro suivante:
Sub Workbook_Open()
Application.DisplayFormulaBar = False
Application.DisplayFullScreen = True
ActiveWindow.DisplayWorkbookTabs = False
ActiveWindow.DisplayHeadings = False

End Sub
Le soucis est que cet macro s'applique à tous les fichiers que j'ouvre (sur tout les fichier que j'ouvre la barre de formule ainsi que tout les onglets ne s'affiche plus).
je voulais savoir si vous aviez pu résoudre se problèmes?
Merci d'avance pour toutes réponses.
Cordialement
 

guiyom

XLDnaute Junior
Bonjours,

Je rencontre le même soucis que vous @guiyom , j'ai un fichier Excel qui me sert d'interface, sur ce fichier j'ai utiliser la macro suivante:
Sub Workbook_Open()
Application.DisplayFormulaBar = False
Application.DisplayFullScreen = True
ActiveWindow.DisplayWorkbookTabs = False
ActiveWindow.DisplayHeadings = False

End Sub
Le soucis est que cet macro s'applique à tous les fichiers que j'ouvre (sur tout les fichier que j'ouvre la barre de formule ainsi que tout les onglets ne s'affiche plus).
je voulais savoir si vous aviez pu résoudre se problèmes?
Merci d'avance pour toutes réponses.
Cordialement
Bonsoir,

En réalité le problème vient de la méthode "Workbook_Open", en utilisant à la place "Workbook_Activate" on obtient un meilleur résultat :

VB:
Private Sub Workbook_Activate()

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
Application.DisplayFormulaBar = False
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub


Private Sub Workbook_Deactivate()

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
Application.DisplayFormulaBar = True
Application.DisplayStatusBar = True
ActiveWindow.DisplayWorkbookTabs = True
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub
Cordialement
 

Muhadini

XLDnaute Junior
Bonsoir,

En réalité le problème vient de la méthode "Workbook_Open", en utilisant à la place "Workbook_Activate" on obtient un meilleur résultat :

VB:
Private Sub Workbook_Activate()

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
Application.DisplayFormulaBar = False
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub


Private Sub Workbook_Deactivate()

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
Application.DisplayFormulaBar = True
Application.DisplayStatusBar = True
ActiveWindow.DisplayWorkbookTabs = True
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub
Cordialement

Bonjour Guiyom,

Comment on fait pour remettre la bar ?
 

Discussions similaires

Réponses
2
Affichages
407