XL 2013 généraliser un affichage

shushen

XLDnaute Nouveau
Bonjour à tous,

est ce que vous savez comment on peut généraliser un affichage sur tout un classeur ?

Je m'explique, sur l'affichage d'une feuille, je souhaite figer les volets à partir de la cellule C2, et ensuite je souhaite masquer quadrillage, en-tête, formules etc...
Je veux reproduire cet affichage sur toutes les feuilles. Mais quand je duplique ces feuilles sur un autre classeur ou que je mets le classeur en ligne, je perds ces préférences.

J'ai essayé l'option d'affichage personnalisé, mais ça ne fonctionne que sur la feuille cible.

1675348719104.png
 

fanch55

XLDnaute Barbatruc
Bonjour,
Un affichage personnalisé est propre à une feuille d'un Classeur.
Cette feuille peut même avoir plusieurs affichages personnalisés .
Si vous dupliquez la feuille, cet affichage ne sera pas propagé .

La seule façon de faire ce que vous souhaitez ( à ma connaissance ) est de le faire par code.
A mettre dans le module ThisWorkbook :
VB:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)

'    If Sh.Name Like "?*" Then
        Application.DisplayFormulaBar = False
        If Not Application.CommandBars.GetPressedMso("MinimizeRibbon") _
        Then Application.CommandBars.ExecuteMso "MinimizeRibbon"
        With ActiveWindow
            .DisplayHeadings = False
            .DisplayGridlines = False
            If .FreezePanes Then .FreezePanes = False
            Range("C2").Select:  .FreezePanes = True
        End With
'    End If

End Sub
 

patricktoulon

XLDnaute Barbatruc
Bonjour à tous
@fanch55
étonnant quand même
si on le fait à la main un double click dans la la barre de titre de excel (nimporte ou )le fait revenir
si on le fait par code le double click est inopérant
en fait ton executemso fait la même chose que la macro4 show ribbon

je dis ça je suis sur 2013 ;)
 

Katido

XLDnaute Occasionnel
Bonjour,

Plus exactement, un affichage personnalisé portant sur les objets tels que grille, en-têtes, onglets, volets, etc. est propre à une fenêtre. Or une fenêtre peut se créer, se paramétrer, se fermer, mais ne peut pas se copier, VBA ou non.

Pour éviter de tout refaire à chaque fois, on peut juste faire un code du genre de celui de Fanch et l'appliquer à chaque fois aux nouvelles fenêtres. Par exemple sur l'évènement Workbook_WindowActivate(ByVal Wn As Window)

Attention, une nouvelle feuille n'est pas une nouvelle fenêtre !
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T