Afficher Colonne masquées avec Workbook

Gonteur

XLDnaute Junior
Bonjour,

Je cherche à réinitialiser une feuille Excel à son ouverture

J'ai réussi à supprimer les filtres
Private Sub Workbook_Open()
With ThisWorkbook.Worksheets("Ma Feuille")
If .FilterMode Then .ShowAllData
End With
End Sub

Mais je n'y arrive pas pour les colonnes et/ou lignes masquées

Merci de l'intérêt que vous y porterez
 

youky(BJ)

XLDnaute Barbatruc
Bonjour Gonteur,

VB:
Private Sub Workbook_Open()
With ThisWorkbook.Worksheets("Ma Feuille")
If .FilterMode Then .ShowAllData
.rows("1:" & .UsedRange.row).hidden=false
.columns("1:" & .UsedRange.column).hidden=false
End With
End Sub
ceci doit faire l'affaire
Bruno
 

Si...

XLDnaute Barbatruc
Bon_soir

Voici la solution fonctionnelle ???
L'as-tu essayée avec une autre feuille que "Ma feuille" sélectionnée à l'ouverture (comme à la sauvegarde) ?

Ce serait mieux avec le point
.Columns("A:ZZ").Select

Mieux encore, pour éviter d'oublier des colonnes ,
.Cells.Columns.Hidden = 0

Et pour simplifier davantage commencer par
Sheets("Ma Feuille ").Select
(les points de référence n'étant plus nécessaires )
 
Dernière édition:

Gonteur

XLDnaute Junior
Merci Si...

Effectivement, ne fonctionne pas si on ouvre pas sur "Ma Feuille" . Comment appliquer la règle sur tout le classeur?

code fonctionnel pour "Ma Feuille"

Private Sub Workbook_Open()
With ThisWorkbook.Worksheets("Billets 17-18")
If .FilterMode Then .ShowAllData
Sheets("Billets 17-18").Select
.Cells.Columns.Hidden = 0
.Cells.Rows.Hidden = 0

End With
End Sub
 
Dernière édition:

youky(BJ)

XLDnaute Barbatruc
Bonjour,
C'est parce qu'une ou plusieurs pages sont protégées.
Bruno
VB:
Private Sub Workbook_Open()
  Dim Sh As Worksheet
  For Each Sh In Sheets
    Sh.Unprotect
      If Sh.FilterMode Then Sh.ShowAllData
      Sh.Cells.Rows.Hidden = 0:  Sh.Cells.Columns.Hidden = 0
  Next
End Sub
 

Gonteur

XLDnaute Junior
Merci Si...
Effectivement, le problème provient de certaines feuilles qui sont protégés :oops: et tel quel c'est fonctionnel.

Le problème maintenant est que le code modifie toutes les feuilles, pas ce que je recherche, comment soustraire les feuilles protégé de la vérification du code? Et ce en maintenant que si je ferme le classeur sur une feuille protégée, le code s'applique, à l'ouverture à toutes les feuilles non protégées.
 
Dernière édition:

Gonteur

XLDnaute Junior
Merci beaucoup Si... de ton aide

Voici le code adapté qui correspond exactement à mes besoins

Private Sub Workbook_Open()
Dim Sh As Worksheet
For Each Sh In Sheets
If Not Sh.ProtectContents Then
If Sh.FilterMode Then Sh.ShowAllData
Sh.Cells.Rows.Hidden = 0: Sh.Cells.Columns.Hidden = 0
End If
Next
End Sub

Au plaisir!
 

Si...

XLDnaute Barbatruc
Bon_jour

C'est Bruno ;)qui t'a parlé de feuilles protégées donc tu peux aussi le remercier pour l'idée :cool:.

Je n'ai pas répondu avant car je ne savais pas ce que tu voulais exactement (traiter des onglets protégés - avec peut-être des conditions différentes - ou au contraire les autres !)

Tu as su quand même t'en sortir. C'est bien.
 

Discussions similaires

Statistiques des forums

Discussions
311 726
Messages
2 081 955
Membres
101 852
dernier inscrit
dthi16088