masquer quadrillage et autres

  • Initiateur de la discussion Initiateur de la discussion titus
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

titus

Guest
Bonjour

Comment optimiser le code ci-dessous
Application.DisplayFormulaBar = False
Application.ScreenUpdating = False
For Each ws In Worksheets
ws.Activate
ActiveWindow.DisplayGridlines = False
ActiveWindow.DisplayHeadings = False
Next ws

(le but étant qu'au démarrage d'un classeur il n'y est pas d'affichage de la barre de formule et pas d'affichage du quadrillage et des entêtes de lignes et de colonnes et ce pour toutes les feuilles du classeur)
 
Salut

essaie ceci

___________________________________________
Private Sub Workbook_Open()
Dim ws as object
'
Application.DisplayFormulaBar = False
Application.ScreenUpdating = False
For Each ws In Worksheets
ws.Activate
ActiveWindow.DisplayGridlines = False
ActiveWindow.DisplayHeadings = False
Next ws
Application.ScreenUpdating = True
End Sub
 
Le problème c'est le temps d'exécution de la macro
si le classeur contient beaucoup de feuilles

N'est 'il pas possible d'utiliser un truc du genre

Sub Workbook_Open()
With ThisWorkbook.Sheets
.DisplayGridlines=False
.DisplayHeading=False
End With
End Sub

Est-il obligatoire d'activer les feuilles?
 
Oui à la fenetre active
or c'est le classeur entier que je veux sans quadrillage ni entetes
donc le code du premier post fonctionne
mais le temps d'éxécution est long

comment faire en vba
pour que ce soit toutes les feuilles du classeur sans les activer
qui soient snasn quadrillage
 
Aprés une google search
et une légére adaptation

Sub Masque()
'inspiré d'un code de Dick Kusleika trouvé sur http://www.dicks-blog.com/excel/user_interface/index.html
Dim aShtLst() As String
Dim sh As Object
Dim lShCnt As Long
ReDim aShtLst(1 To ThisWorkbook.Sheets.Count)
For lShCnt = LBound(aShtLst) To UBound(aShtLst)
aShtLst(lShCnt) = ThisWorkbook.Sheets(lShCnt).Name
Next lShCnt
ThisWorkbook.Sheets(aShtLst).Select
With Selection
ActiveWindow.DisplayGridlines = False
ActiveWindow.DisplayHeadings = False
End With
End Sub

Personne n'a une idée pour faire plus cours?
 
Bonjour

Voilà ou j'en suis (ca fonctionne)
Sub Masque()
Dim WS As Worksheet
F = False
Application.ScreenUpdating=F
For Each WS In Worksheets
WS.Select
With ActiveWindow
.DisplayGridlines = F
.DisplayHeadings = F
.DisplayFormulas = F
End With
Next WS
Sheets("Feuil1").Activate
Application.ScreenUpdating=True
End Sub

Personne n'a plus concis?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
236
Réponses
5
Affichages
593
Réponses
3
Affichages
605
Réponses
3
Affichages
493
Réponses
7
Affichages
2 K
Réponses
4
Affichages
646
Réponses
7
Affichages
703
Retour