Macro affichage sortir du plein écran

Bonjour à tous,

J'ai besoin de votre aide pour faire fonctionner une macro dans un classeur. J'ai une macro qui ouvre l'appli en plein écran, mais à la fermeture, pas moyen de revenir en mode normal, et c'est primordial sinon tous les autres docs excel qu'on ouvre après sont en plein écran et ça, ça va être un vrai souci pour ceux qui vont utiliser l'appli (ils sont nombreux et ne maitrisent pas du tout Excel).

Donc, J'ai essayé:

  • Senkeys "{esc}": ça ne marche pas
  • Application.DisplayFullScreen = False: ça marche pas non plus
  • Et même le code pour laisser un petit "Wait" avant la fermeture (histoire que le code ne se déroule pas trop vite et que toutes les étapes soient prises en compte) ne marche pas!
Aidez moi s'il vous plait, je suis au bout du rouleau à force de chercher .... Qu'est ce qui ne va pas dans mon code?????

Voici un extrait du code à la fermeture:

Dans ThisWorkbook:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim hwnd As Long

hwnd = FindWindowA(vbNullString, Application.Caption)

SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) Or &H80000

Call Mise_en_formeS

Application.DisplayFullScreen = False

Temps = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) = 60)

Application.Wait Temps

Application.Quit

End Sub

-Dans 1 module:

Sub Mise_en_formeS()

Application.ScreenUpdating = False

With Application

.DisplayFullScreen = False

.DisplayFormulaBar = True

.DisplayStatusBar = True

.ShowStartupDialog = True

.ShowWindowsInTaskbar = True

End With

With ActiveWindow

.DisplayHeadings = True

.DisplayHorizontalScrollBar = True

.DisplayWorkbookTabs = True

End With

For Each Feuille In Worksheets

Feuille.Activate

ActiveWindow.DisplayHeadings = True

Next Feuille

Application.ScreenUpdating = True

End Sub

Aidez moi s'il vous plait ! merciiii.

Edit Dan : supprimé "Urgent" dans le titre du sujet. Merci de lire les règles du forum

Bonsoir,

Merci d'éviter les mots "urgent" et autres.. --> https://forum.excel-pratique.com/annonces/explications-et-regles-a-respecter-t13.html

Ne jamais utiliser application.quit qui est une instruction fermant purement excel. Bonjour les dégats s'il y a un fichier ouvert n'ayant rien avoir avec l'application en cours.... toutes les données de travail perdues si le fichier n'est pas enregistré.

en entête dans thisworkbook, il devrait y avoir un "Private declare function....". on suppose qu'il y est.

Dans le Call Mise en formeS il y a déjà "Application.DisplayFullScreen = False". Pas besoin de le remettre.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim hwnd As Long
hwnd = FindWindowA(vbNullString, Application.Caption)
SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) Or &H80000
Call Mise_en_formeS
Temps = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) = 60)
Application.Wait Temps
End Sub

Amicalement

bonjour,

Moi j'ai trouvé ça;

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Application.WindowState = xlNormal

End Sub

Cordialement

Merci beaucoup pour vos réponses! Désolé pour le mot "urgent" mais sincèrement ça l'était pour moi. Je ne voulais mettre la pression à personne. Pour " application. Quit", je l'ai mis parce que je ne veux pas que les personnes puissent enregistrer les modifications. Par contre, c'est vrai que si on a un autre classeur ouvert, ça ferme tout. Y a t'il un moyen de fermer que l'appli et pas excel? Je vais tester vos trucs et je vous tiens au courant. Merci encore pour vos reponses

Bonjour à tous.

Voici le code qui marche nickel et qui permet de fermer l'application et de rouvrir en suivant un document excel en mode normal et non en mode plein écran (par contre il faut en effet changer le "application. quit" par une autre fermeture qui ne ferme pas Excel mais simplement le classeur en cours sans demander de sauvegarder).

Merci encore à tous!

Sub Macro1()

' Macro1 Macro

'

Application.DisplayFullScreen = False

With Application

.Iteration = False

.MaxChange = 0.001

End With

ActiveWorkbook.PrecisionAsDisplayed = False

Application.Quit

ActiveWindow.Close SaveChanges:=False

End Sub

Rechercher des sujets similaires à "macro affichage sortir plein ecran"