affichage plein ecran robuste

S

SparKouS

Guest
Bonjour le forum,

J'ai un petit problème concernant l'affichage en mode plein ecran d'excel .
Ce que j'ai remarqué c'est que selon la façon de clicker pour faire une réduction de fenetre puis l'ouvrir de nouveau, le mode plein ecran reste ou pas.

Dans le cas 1 voici comment je procede :

-> affichage plein ecran
-> click droit sur la tache Excel : Minimize
-> click droit sur la tache Excel : Maximize
---> Resultat le mode Plein Ecran est resté

Dans le cas 2 voici comment je procede :

-> affichage plein ecran
-> click droit sur la tache Excel : Minimize
-> click gauche sur la tache Excel
---> Resultat le mode Plein Ecran s'est désactivé


Est-ce un comportement normal de Excel ?

Y-a-t- il une astuce pour rendre l'affichage plein ecran plus robuste ?

ici, je n'utilise que cette macro :

" Application.DisplayFullScreen = True "

---
Merci & A+


SparKouS
 
J

Joley

Guest
Bonjour SparKous, le forum,

Essai ceci dans la code VBA de ThisWorkbook :

'Comment peut on desactiver les 3 icones (réduire, restaurer,fermer) ainsi
'que l'icone en haut à gauche d'une application excel afin d'empêcher
'l'utilisateur de fermer Excel autrement que par un bouton prévu à cet effet ?

'Dans le module ThisWorkbook de l'application :
Private Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function GetWindowLongA Lib "user32" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLongA Lib "user32" _
(ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Private Sub Workbook_Activate()
ActiveWindow.WindowState = xlMaximized
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim hWnd As Long
hWnd = FindWindowA(vbNullString, Application.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) Or &H80000
End Sub

Private Sub Workbook_Open()
Dim hWnd As Long
hWnd = FindWindowA(vbNullString, Application.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) And &HFFF7FFFF
Application.DisplayFullScreen = True
Application.CommandBars("Formatting").Visible = False
Application.CommandBars("Standard").Visible = False
Application.CommandBars("Visual Basic").Visible = False
Application.DisplayFormulaBar = False
Application.CommandBars("Toolbar List").Enabled = False
Application.OnKey "%-", ""
Application.CommandBars("Formatting").Protection = msoBarNoResize

End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
ActiveWindow.WindowState = xlMaximized
End Sub

Private Sub Workbook_WindowResize(ByVal Wn As Window)
ActiveWindow.WindowState = xlMaximized
End Sub

Tourlou,

Joley P.S. (ce serait cool de me dire si ça te satisfait :) )
 
S

SparKouS

Guest
Bonjour Joley, le Forum !

Et bien j'ai testé ton code, et avec le click gauche sur la tâche Excel ca casse aussi le mode Full Screen.

En fait, pour être précis, en clickant sur la barre des taches Excel (click gauche pour reduire , click gauche de nouveau pour ouvrir ), une barre de formule vient s'incruster et gache le travail sur l'interface graphique.

J'aurais aimé savoir si d'autres personnes observent des comportement suspect d'Excel, en clickant de la sorte .

Merci Joley, pour cette macro riche en idées .

A+
 

deathmask

XLDnaute Nouveau
Re : affichage plein ecran robuste

Bonjour,

Ce topic est un peu ancien, mais je pense que la question demeure toujours, et je suppose que certains seront intéressés par une solution possible à ce problème.

J'utilise Excel 2003, et j'ai moi-même été confronté à ce problème : lorsque l'on clique sur le bouton excel dans la barre des tâches de Windows pour réduire l'application puis qu'on clique à nouveau sur ce même bouton pour afficher l'application, le mode plein écran saute.

J'ai trouvé une astuce pour contourner ce problème. A priori, aucun événement à disposition ne peut nous aider. Mais je me suis aperçu que lorsqu'au moins 2 classeurs sont ouverts en même temps, le bug décrit ci-dessus ne se produit pas. Et là, vous vous dites qu'on est bien avancés à devoir ouvrir plusieurs classeurs pour maintenir ce satané mode plein écran.

Mais il y a mieux heureusement : si après avoir ouvert plusieurs classeurs, on les ferme tous pour ne garder que celui qui nous intéresse, le bug ne se produit toujours pas.

A l'ouverture du fichier que l'on souhaite maintenir en mode plein écran, il suffit donc d'insérer un code permettant d'ouvrir un nouveau classeur puis de le refermer aussitôt :

Private Sub Workbook_Open()

'Astuce pour éviter la désactivation du mode plein écran lorsque Excel est réduit
Application.ScreenUpdating = False
Workbooks.Add
ActiveWorkbook.Close
Application.ScreenUpdating = True

End Sub

A bientôt.
 

Statistiques des forums

Discussions
312 887
Messages
2 093 309
Membres
105 685
dernier inscrit
Askascii