Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Masquer des cellules lors de la fermeture du classeur

MarcoPolo1462

XLDnaute Nouveau
Bonjour je suis novice avec Excel et j'ai besoin de vous
Dans mon classeur excel, j'ai plusieurs feuilles identiques de saisies. Une partie des colonnes s'affiche si l'on appuie sur un bouton qui lance un macro. Par contre, j'aimerais que ces cellules se referment lors de la fermeture du classeur de manière automatique car je sais que mes collègues ne le feront pas toujours.
Il me faut un code mais je ne sais pas l'écrire... merci d'avance
 

Santulud

XLDnaute Occasionnel
bonjour,

un bout de code a ajouter dans Workbook - Before close
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("feuil1").Range("d:v").EntireColumn.Hidden = True   'nom des colonnes et de la feuille à spécifier
ActiveWorkbook.Save
End Sub
 

MarcoPolo1462

XLDnaute Nouveau
Merci je vais essayer et je vous redis
Je vais devoir le faire pour toutes les feuilles du classeur. Dois-je reecrire le code identique a la suite avec le nom de la feuille qui diffère ou puis-je en 1 code sélectionner toutes les feuilles? Merci bcp Santulud
 

Santulud

XLDnaute Occasionnel
Pour masquer sur toute les feuille en un seul clique il faut modifier le code

a tester
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ThisWorkbook.Sheets(Array("feuil1", "feuil2")).Select  ' nom des feuille à spécifier
 
    With ActiveSheet

Range("d:v").EntireColumn.Hidden = True   'nom des colonnes à spécifier

End With

ActiveWorkbook.Save

End Sub
 

MarcoPolo1462

XLDnaute Nouveau

Ca joue presque Santulud mais mes feuilles sont protégées (je permets juste aux utilisateurs de modifier certaines cellules). Quand j'enlève la protection de la feuille ça fonctionne sinon non...
 

MarcoPolo1462

XLDnaute Nouveau
Ca ne marche malheureusement pas... Lors de la fermeture du classeur, je souhaite sélectionner mes feuilles, enlever leur protection, masquer les colonnes désirées, remettre la protection et fermer le classeur. Voici mon code qui bugg... Quelqu'un pur m'aider?

Merci d'avance

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Sheets(Array("AFPA 1A", "AFPA 1B")).Select

With ActiveSheet

ActiveSheet.Unprotect

Columns("ZI").Select
Selection.EntireColumn.Hidden = True

ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFormattingCells:=True

End With

ActiveWorkbook.Save

End Sub
 

Santulud

XLDnaute Occasionnel
il me semble que pour le UNPROTECT, cela ne marche que pour une seule feuille a la fois

Essaie



VB:
sheets("AFPA 1A").unprotect
sheets("AFPA 1B").unprotect

....

sheets("AFPA 1A").protect
sheets("AFPA 1B").protect
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…