OVH Cloud OVH Cloud

DisplayFormulaBar récalcitrant

4 réponses
Avatar
René Delcourt
Bonjour,
après avoir mis dans Private Sub Workbook_Open()
.DisplayFormulaBar = False
J'ajoute dans
Private Sub Workbook_BeforeClose(Cancel As Boolean)
.DisplayFormulaBar = True

Rien n'y fait, la barre de formule n'apparaît plus (sinon en la cochant dans
les options d'Excel!)

Puisque je restaure d'autres éléments cachés, je me demande s'il y a un
ordre à respecter (apparemment non).

Merci pour vos lumières.


--
René Delcourt

4 réponses

Avatar
anonymousA
re,

n'arrive pas à reproduire ce problème sur Excel2000 .Il doit y avoir
autre chose.A toi d'en dire plus.

A+
Avatar
René Delcourt
Bonjour et merci de t'intéresser à mon problème.
Il est difficile de rester anonyme avec une telle activité sur le forum :-)
Voici les principales lignes des sub ouvrir et before_close :

Private Sub Workbook_Open()
Dim cmdB As CommandBar
Dim hWnd As Long
hWnd = FindWindowA(vbNullString, Application.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) And &HFFF7FFFF
Application.ScreenUpdating = False
For Each cmdB In Application.CommandBars
cmdB.Enabled = False
Next cmdB
With Application
.DisplayFullScreen = False
.Caption = " XXXXX "
.DisplayStatusBar = False
.DisplayFormulaBar = False
End With
With ActiveWindow
.Caption = "YYYYY - " & NomComplet & " - " & Statut
.DisplayWorkbookTabs = False
.DisplayHeadings = False
End With
Menu
SousMenu
MenuDetail
Application.WindowState = xlMaximized
ActiveWindow.WindowState = xlMaximized
Application.ScreenUpdating = True
ProtBar
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
Dim cmdB As CommandBar
For Each cmdB In Application.CommandBars
cmdB.Enabled = True
Next cmdB
With Application
.Caption = ""
.DisplayFullScreen = False
.DisplayStatusBar = True
.DisplayFormulaBar = True
End With
With ActiveWindow
.DisplayWorkbookTabs = True
.DisplayHeadings = True
End With
Application.Caption = ""
Application.DisplayFormulaBar = True '------>je l'ai répétée
On Error Resume Next
Application.CommandBars("VISIOCOM").Delete
Application.CommandBars("SYNTHESES").Delete
Application.CommandBars("DETAIL").Delete
If Workbooks.Count = 2 Then
Application.Quit
End If
End Sub

--
René Delcourt



re,

n'arrive pas à reproduire ce problème sur Excel2000 .Il doit y avoir
autre chose.A toi d'en dire plus.

A+




Avatar
anonymousA
Si tu peux ou/et veux , envoies moi ton fichier à
, car ce serait mieux d'avoir l'intégralité du
code.
Pour ce que j'ai pu lire de ton code jusque là, je ne vois guère de
problème.

A+
Avatar
René Delcourt
Merci Anonymous pour ton aide offline.
Je reprends ta réflexion afin de partager tes lumières avec la communauté en
espérant que cela interpellera Bill Gates :

"ce qui pose problème c'est toute exécution de fermeture du fichier en
dehors de la fermeture naturelle ( Fichier/Fermer). En effet, dès lors
que l'on utilise l'instruction thisworkbook.close, si
displaycommandbar=true est dans l'evenement workbook_Beforeclose cette
instruction est inopérante. Par contre si on déclenche la fermeture par
Fichier/Fermer alors displaycommandbar=true contenue dans
workbook_Beforeclose est opérante."

--
René Delcourt



Si tu peux ou/et veux , envoies moi ton fichier à
, car ce serait mieux d'avoir l'intégralité du
code.
Pour ce que j'ai pu lire de ton code jusque là, je ne vois guère de
problème.

A+