Barre grise

Le
TEROM
Bonjour,

Dans un classeur comportant plusieurs feuilles, j'utilise la première comme
page d'accueil, un bouton me permet de passer à la suivante considérée comme
menu sur laquelle divers boutons me permettent d'accéder aux autres feuilles
de mon classeur. Sur chacune de ces feuilles un bouton menu me permet de
revenir à celui-ci. Le code du workbook permet de supprimer les divers menus
et barres d'outils et de passer systématiquement en plein écran et de limiter
la zone accessible de chaque feuille. A l'activation de chaque worsheet, un
code permet de maximiser l'affichage. Le problème que je rencontre et que
j'aimerais soumettre à votre sagacité est le suivant. Au lancement de
l'application, j'ouvre en plein écran sur la page d'accueil, le bouton me
permet d'accéder au menu en plein écran. Si je clique un bouton quelconque
du menu, j'accède à la page concerné toujours en plein écran, mais quand je
clique sur le bouton qui me permet de revenir au menu "
Worksheets("MENU").Activate", celui-ci s'affiche en plein écran, mais une
barre grise cache le haut de la feuille. Cette barre perdure sur toutes les
feuilles auxquelles on tente d'accéder par la suite. Un clic droit sur cette
barre fait apparaître le mot "Personnaliser…" comme s'il s'agissait d'une
barre d'outil, puis tout se bloque. Je joins ci-après le code du workbook et
celui de la feuille "MENU".
Merci d'avance pour toute suggestion.

TEROM

PS : Environnement Windows 2000 et Excel 2000


'Pour réinitialiser Excel à la fermeture du classeur
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim CmdB As CommandBar

With Application
.ScreenUpdating = False
.DisplayAlerts = False

'Réaffiche le Menu Outils, Macros
.CommandBars(1).Controls(6).Controls(12).Enabled = True

'Réaffiche la barre de formule
.DisplayFormulaBar = True

'Réaffiche la barre des status
.DisplayStatusBar = True
End With

'Réactive toutes les options d'affichage
For Each CmdB In Application.CommandBars
CmdB.Enabled = True
Next CmdB

With ActiveWindow
.DisplayGridlines = True
.DisplayHeadings = True
.DisplayHorizontalScrollBar = True
.DisplayVerticalScrollBar = True
.DisplayWorkbookTabs = True
End With

Application.DisplayFullScreen = False
Application.CommandBars("Standard").Visible = True
Application.CommandBars("Formatting").Visible = True
Application.Interactive = True

End Sub

'Pour gérer la façon dont Excel affiche les pages
Private Sub Workbook_Open()
Dim CmdB As CommandBar
For Each CmdB In Application.CommandBars
CmdB.Enabled = True
Next CmdB

' Pour masquer en plus la barre d'état
' la barre de formule
' les onglets
With Application
.CommandBars(1).Enabled = True
.DisplayFullScreen = True
.DisplayStatusBar = False
.DisplayFormulaBar = False

End With
With ActiveWindow
.DisplayWorkbookTabs = False
.DisplayHeadings = False
End With

' Pour que les commentaires puissent s'afficher
Application.DisplayCommentIndicator = xlCommentIndicatorOnly

'Afficher la feuille "A Lire" en priorité
Application.ThisWorkbook.Sheets("A lire").Activate

'Limiter la zone accessible
Worksheets("A lire").ScrollArea = "A1:M30"
Worksheets("Menu").ScrollArea = "A1:M33"
Worksheets("A1").ScrollArea = "A1:K326"
Worksheets("A2").ScrollArea = "A1:L32"
Worksheets("A3 ").ScrollArea = "A1:R34"
Worksheets("A4").ScrollArea = "A1:K30"
Worksheets("A6").ScrollArea = "A1:I29"
Worksheets("A7").ScrollArea = "A1:L28"
Worksheets("A8").ScrollArea = "A1:L28"
Worksheets("A9").ScrollArea = "A1:I30"
Worksheets("A10").ScrollArea = "A1:J29"
Worksheets("A11").ScrollArea = "A1:M31"
Worksheets("A12").ScrollArea = "A1:J36"
Worksheets("A13").ScrollArea = "A1:J28"
Worksheets("A14").ScrollArea = "A1:N29"
Worksheets("A15").ScrollArea = "A1:M42"

End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
With Application
.CommandBars(1).Enabled = True
.DisplayFullScreen = True
.DisplayStatusBar = False
.DisplayFormulaBar = False
End With
End Sub


Private Sub Workbook_WindowResize(ByVal Wn As Window)
With Application
.CommandBars(1).Enabled = True
.DisplayFullScreen = True
.DisplayStatusBar = False
.DisplayFormulaBar = False

End With
End Sub



' Boutons du menu de la worksheet "MENU"

Private Sub CommandButton10_Click()
Worksheets("A1").Activate
End Sub

Private Sub CommandButton11_Click()
Worksheets("A2").Activate
End Sub

Private Sub CommandButton12_Click()
Worksheets("A3").Activate
End Sub

Private Sub CommandButton13_Click()
Worksheets("A4").Activate
End Sub

Private Sub CommandButton14_Click()
Worksheets("A5").Activate
End Sub

Private Sub CommandButton15_Click()
Worksheets("A6").Activate
End Sub

Private Sub CommandButton16_Click()
Worksheets("A7").Activate
End Sub

Private Sub CommandButton2_Click()
Worksheets("A lire").Activate
End Sub

Private Sub CommandButton3_Click()
Worksheets("A8").Activate
End Sub

Private Sub CommandButton4_Click()
Worksheets("A9").Activate
End Sub

Private Sub CommandButton5_Click()
Worksheets("A10").Activate
End Sub

Private Sub CommandButton6_Click()
Worksheets("A11").Activate
End Sub

Private Sub CommandButton7_Click()
Worksheets("A12").Activate
End Sub

Private Sub CommandButton8_Click()
Worksheets("A13").Activate
End Sub

Private Sub CommandButton9_Click()
Worksheets("A14").Activate
End Sub

'Bouton d'enregistrement et de sortie du programme
Private Sub CommandButton1_Click()
Application.Dialogs(xlDialogSaveWorkbook).Show
Application.Quit
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FS
Le #20041341
Bonjour,

C'est plutôt le code qui renvoie sur la feuille "Menu" qui pourrait
peut-être permettre de comprendre ce qui génère cette "barre grise" :)

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

TEROM a écrit :
Bonjour,

Dans un classeur comportant plusieurs feuilles, j'utilise la première comme
page d'accueil, un bouton me permet de passer à la suivante considérée comme
menu sur laquelle divers boutons me permettent d'accéder aux autres feuilles
de mon classeur. Sur chacune de ces feuilles un bouton menu me permet de
revenir à celui-ci. Le code du workbook permet de supprimer les divers menus
et barres d'outils et de passer systématiquement en plein écran et de limiter
la zone accessible de chaque feuille. A l'activation de chaque worsheet, un
code permet de maximiser l'affichage. Le problème que je rencontre et que
j'aimerais soumettre à votre sagacité est le suivant. Au lancement de
l'application, j'ouvre en plein écran sur la page d'accueil, le bouton me
permet d'accéder au menu en plein écran. Si je clique un bouton quelconque
du menu, j'accède à la page concerné toujours en plein écran, mais quand je
clique sur le bouton qui me permet de revenir au menu "
Worksheets("MENU").Activate", celui-ci s'affiche en plein écran, mais une
barre grise cache le haut de la feuille. Cette barre perdure sur toutes les
feuilles auxquelles on tente d'accéder par la suite. Un clic droit sur cette
barre fait apparaître le mot "Personnaliser…" comme s'il s'agissait d'une
barre d'outil, puis tout se bloque. Je joins ci-après le code du workbook et
celui de la feuille "MENU".
Merci d'avance pour toute suggestion.

TEROM

PS : Environnement Windows 2000 et Excel 2000


'Pour réinitialiser Excel à la fermeture du classeur
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim CmdB As CommandBar

With Application
..ScreenUpdating = False
..DisplayAlerts = False

'Réaffiche le Menu Outils, Macros
..CommandBars(1).Controls(6).Controls(12).Enabled = True

'Réaffiche la barre de formule
..DisplayFormulaBar = True

'Réaffiche la barre des status
..DisplayStatusBar = True
End With

'Réactive toutes les options d'affichage
For Each CmdB In Application.CommandBars
CmdB.Enabled = True
Next CmdB

With ActiveWindow
..DisplayGridlines = True
..DisplayHeadings = True
..DisplayHorizontalScrollBar = True
..DisplayVerticalScrollBar = True
..DisplayWorkbookTabs = True
End With

Application.DisplayFullScreen = False
Application.CommandBars("Standard").Visible = True
Application.CommandBars("Formatting").Visible = True
Application.Interactive = True

End Sub

'Pour gérer la façon dont Excel affiche les pages
Private Sub Workbook_Open()
Dim CmdB As CommandBar
For Each CmdB In Application.CommandBars
CmdB.Enabled = True
Next CmdB

' Pour masquer en plus la barre d'état
' la barre de formule
' les onglets...
With Application
.CommandBars(1).Enabled = True
.DisplayFullScreen = True
.DisplayStatusBar = False
.DisplayFormulaBar = False

End With
With ActiveWindow
.DisplayWorkbookTabs = False
.DisplayHeadings = False
End With

' Pour que les commentaires puissent s'afficher
Application.DisplayCommentIndicator = xlCommentIndicatorOnly

'Afficher la feuille "A Lire" en priorité
Application.ThisWorkbook.Sheets("A lire").Activate

'Limiter la zone accessible
Worksheets("A lire").ScrollArea = "A1:M30"
Worksheets("Menu").ScrollArea = "A1:M33"
Worksheets("A1").ScrollArea = "A1:K326"
Worksheets("A2").ScrollArea = "A1:L32"
Worksheets("A3 ").ScrollArea = "A1:R34"
Worksheets("A4").ScrollArea = "A1:K30"
Worksheets("A6").ScrollArea = "A1:I29"
Worksheets("A7").ScrollArea = "A1:L28"
Worksheets("A8").ScrollArea = "A1:L28"
Worksheets("A9").ScrollArea = "A1:I30"
Worksheets("A10").ScrollArea = "A1:J29"
Worksheets("A11").ScrollArea = "A1:M31"
Worksheets("A12").ScrollArea = "A1:J36"
Worksheets("A13").ScrollArea = "A1:J28"
Worksheets("A14").ScrollArea = "A1:N29"
Worksheets("A15").ScrollArea = "A1:M42"

End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
With Application
.CommandBars(1).Enabled = True
.DisplayFullScreen = True
.DisplayStatusBar = False
.DisplayFormulaBar = False
End With
End Sub


Private Sub Workbook_WindowResize(ByVal Wn As Window)
With Application
.CommandBars(1).Enabled = True
.DisplayFullScreen = True
.DisplayStatusBar = False
.DisplayFormulaBar = False

End With
End Sub



' Boutons du menu de la worksheet "MENU"

Private Sub CommandButton10_Click()
Worksheets("A1").Activate
End Sub

Private Sub CommandButton11_Click()
Worksheets("A2").Activate
End Sub

Private Sub CommandButton12_Click()
Worksheets("A3").Activate
End Sub

Private Sub CommandButton13_Click()
Worksheets("A4").Activate
End Sub

Private Sub CommandButton14_Click()
Worksheets("A5").Activate
End Sub

Private Sub CommandButton15_Click()
Worksheets("A6").Activate
End Sub

Private Sub CommandButton16_Click()
Worksheets("A7").Activate
End Sub

Private Sub CommandButton2_Click()
Worksheets("A lire").Activate
End Sub

Private Sub CommandButton3_Click()
Worksheets("A8").Activate
End Sub

Private Sub CommandButton4_Click()
Worksheets("A9").Activate
End Sub

Private Sub CommandButton5_Click()
Worksheets("A10").Activate
End Sub

Private Sub CommandButton6_Click()
Worksheets("A11").Activate
End Sub

Private Sub CommandButton7_Click()
Worksheets("A12").Activate
End Sub

Private Sub CommandButton8_Click()
Worksheets("A13").Activate
End Sub

Private Sub CommandButton9_Click()
Worksheets("A14").Activate
End Sub

'Bouton d'enregistrement et de sortie du programme
Private Sub CommandButton1_Click()
Application.Dialogs(xlDialogSaveWorkbook).Show
Application.Quit



Astro.Lab
Le #20304921
Bonjour,

C'es t par hazard que je trouvé votre post puisque je cherchez barre bleu
(Excel 2003). J'ai le même problème depuis plusieurs mois. J'ai réussie à le
contourner jusqu'ici. Je ne sais pas si vous avez trouvé une solution à votre
problème, mais voici mon analyse.

1.- Le problème apparaît au changement de page en général, si vous ne
changez pas de page il ne se manifeste pas tout le temps. De plus, il faut
travailler en "Application.DisplayFullScreen" ou avec les menus cachés.
Autrement le problème n'est pas perceptible.

2.- L'utilisation de l'instruction "Application.ScreenUpdating " est une
partie du problème, si elle est utilisée dans une routine qui s'éxécute dans
le code VBA d'une feuille Excel, au moment de changer de feuille la barre est
affichée. Si vous enlevez l'instruction le problème ne devait pas se
manifester, par contre ça va relentir l'éxécution, etc, etc.

3.- Si la même fonction est éxécutée à partir d'un UserForm dans le code du
UF le problème ne se manifeste pas (au moins pour moi). Mais ce n'est pas
toujour possible.

Essayez dans une de vos routines qui cause problème d'enlèver la routine
"Application.ScreenUpdating" et essayez, peut-être ça marchera pour vous
aussi. Moi j'utilise Excel 2003, mais j'ai eut le même problème avec 97.
Puisque les versions 97 à 2003 sont très proches les unes des autres,
j'imagine que c'est le même bugg dans la routine "Application.ScreenUpdating
" qui se perpetue.

Si vous avez une solution ou une explication plus technique de la cause du
problème j'aimerais bien la connaître. Pour le moment je considère ceci comme
un BUGG d'Excel, mais il est possible que je me trompe.

En esperant que ceci puisse vous aider à faire un bout de chemin, je vous
souhaite une bonne journée.

Cordialement,

F.D.

====================================================
"TEROM" wrote:

Bonjour,

Dans un classeur comportant plusieurs feuilles, j'utilise la première comme
page d'accueil, un bouton me permet de passer à la suivante considérée comme
menu sur laquelle divers boutons me permettent d'accéder aux autres feuilles
de mon classeur. Sur chacune de ces feuilles un bouton menu me permet de
revenir à celui-ci. Le code du workbook permet de supprimer les divers menus
et barres d'outils et de passer systématiquement en plein écran et de limiter
la zone accessible de chaque feuille. A l'activation de chaque worsheet, un
code permet de maximiser l'affichage. Le problème que je rencontre et que
j'aimerais soumettre à votre sagacité est le suivant. Au lancement de
l'application, j'ouvre en plein écran sur la page d'accueil, le bouton me
permet d'accéder au menu en plein écran. Si je clique un bouton quelconque
du menu, j'accède à la page concerné toujours en plein écran, mais quand je
clique sur le bouton qui me permet de revenir au menu "
Worksheets("MENU").Activate", celui-ci s'affiche en plein écran, mais une
barre grise cache le haut de la feuille. Cette barre perdure sur toutes les
feuilles auxquelles on tente d'accéder par la suite. Un clic droit sur cette
barre fait apparaître le mot "Personnaliser…" comme s'il s'agissait d'une
barre d'outil, puis tout se bloque. Je joins ci-après le code du workbook et
celui de la feuille "MENU".
Merci d'avance pour toute suggestion.

TEROM

PS : Environnement Windows 2000 et Excel 2000


'Pour réinitialiser Excel à la fermeture du classeur
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim CmdB As CommandBar

With Application
.ScreenUpdating = False
.DisplayAlerts = False

'Réaffiche le Menu Outils, Macros
.CommandBars(1).Controls(6).Controls(12).Enabled = True

'Réaffiche la barre de formule
.DisplayFormulaBar = True

'Réaffiche la barre des status
.DisplayStatusBar = True
End With

'Réactive toutes les options d'affichage
For Each CmdB In Application.CommandBars
CmdB.Enabled = True
Next CmdB

With ActiveWindow
.DisplayGridlines = True
.DisplayHeadings = True
.DisplayHorizontalScrollBar = True
.DisplayVerticalScrollBar = True
.DisplayWorkbookTabs = True
End With

Application.DisplayFullScreen = False
Application.CommandBars("Standard").Visible = True
Application.CommandBars("Formatting").Visible = True
Application.Interactive = True

End Sub

'Pour gérer la façon dont Excel affiche les pages
Private Sub Workbook_Open()
Dim CmdB As CommandBar
For Each CmdB In Application.CommandBars
CmdB.Enabled = True
Next CmdB

' Pour masquer en plus la barre d'état
' la barre de formule
' les onglets...
With Application
.CommandBars(1).Enabled = True
.DisplayFullScreen = True
.DisplayStatusBar = False
.DisplayFormulaBar = False

End With
With ActiveWindow
.DisplayWorkbookTabs = False
.DisplayHeadings = False
End With

' Pour que les commentaires puissent s'afficher
Application.DisplayCommentIndicator = xlCommentIndicatorOnly

'Afficher la feuille "A Lire" en priorité
Application.ThisWorkbook.Sheets("A lire").Activate

'Limiter la zone accessible
Worksheets("A lire").ScrollArea = "A1:M30"
Worksheets("Menu").ScrollArea = "A1:M33"
Worksheets("A1").ScrollArea = "A1:K326"
Worksheets("A2").ScrollArea = "A1:L32"
Worksheets("A3 ").ScrollArea = "A1:R34"
Worksheets("A4").ScrollArea = "A1:K30"
Worksheets("A6").ScrollArea = "A1:I29"
Worksheets("A7").ScrollArea = "A1:L28"
Worksheets("A8").ScrollArea = "A1:L28"
Worksheets("A9").ScrollArea = "A1:I30"
Worksheets("A10").ScrollArea = "A1:J29"
Worksheets("A11").ScrollArea = "A1:M31"
Worksheets("A12").ScrollArea = "A1:J36"
Worksheets("A13").ScrollArea = "A1:J28"
Worksheets("A14").ScrollArea = "A1:N29"
Worksheets("A15").ScrollArea = "A1:M42"

End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
With Application
.CommandBars(1).Enabled = True
.DisplayFullScreen = True
.DisplayStatusBar = False
.DisplayFormulaBar = False
End With
End Sub


Private Sub Workbook_WindowResize(ByVal Wn As Window)
With Application
.CommandBars(1).Enabled = True
.DisplayFullScreen = True
.DisplayStatusBar = False
.DisplayFormulaBar = False

End With
End Sub



' Boutons du menu de la worksheet "MENU"

Private Sub CommandButton10_Click()
Worksheets("A1").Activate
End Sub

Private Sub CommandButton11_Click()
Worksheets("A2").Activate
End Sub

Private Sub CommandButton12_Click()
Worksheets("A3").Activate
End Sub

Private Sub CommandButton13_Click()
Worksheets("A4").Activate
End Sub

Private Sub CommandButton14_Click()
Worksheets("A5").Activate
End Sub

Private Sub CommandButton15_Click()
Worksheets("A6").Activate
End Sub

Private Sub CommandButton16_Click()
Worksheets("A7").Activate
End Sub

Private Sub CommandButton2_Click()
Worksheets("A lire").Activate
End Sub

Private Sub CommandButton3_Click()
Worksheets("A8").Activate
End Sub

Private Sub CommandButton4_Click()
Worksheets("A9").Activate
End Sub

Private Sub CommandButton5_Click()
Worksheets("A10").Activate
End Sub

Private Sub CommandButton6_Click()
Worksheets("A11").Activate
End Sub

Private Sub CommandButton7_Click()
Worksheets("A12").Activate
End Sub

Private Sub CommandButton8_Click()
Worksheets("A13").Activate
End Sub

Private Sub CommandButton9_Click()
Worksheets("A14").Activate
End Sub

'Bouton d'enregistrement et de sortie du programme
Private Sub CommandButton1_Click()
Application.Dialogs(xlDialogSaveWorkbook).Show
Application.Quit



Publicité
Poster une réponse
Anonyme