Bouton j'te vois - j'te vois plus

Le
François
Bonjour à tous,

Je cherche à écrire une proc permettant d'afficher toutes les
feuilles cachées d'un classeur puis de les remasquer après avoir
travaillé sur ce classeur.
En effet avant de diffuser un document, je masque souvent une feuille
base de données, des feuilles de codes, de paramètres qui n'ont aucun
intérêts
pour mes destinataires mais qui en ont pour moi.
C'est une manip fréquente dans mes travaux quotidiens.

En fait, je suppose qu'il faudrait mémoriser dans un tableau (array ?)
les noms des feuilles masquées pour les re-masquer avant enregistrement.
mais .. j'y arrive pô.

Merci par avance de votre aide
François
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Papou
Le #1373655
Bonjour françois
Et pourquoi pas une boucle ?
For i = 1 to sheets.count
if sheets(i).visible = xlsheetvisible Then
sheets(i).visible = xlsheethidden '(ou xlsheetveryhidden)
end if
next i

Cordialement
Pascal

"François" a écrit dans le message de news:
ekC$
Bonjour à tous,

Je cherche à écrire une proc permettant d'afficher toutes les
feuilles cachées d'un classeur puis de les remasquer après avoir
travaillé sur ce classeur.
En effet avant de diffuser un document, je masque souvent une feuille
base de données, des feuilles de codes, de paramètres ... qui n'ont aucun
intérêts
pour mes destinataires mais qui en ont pour moi.
C'est une manip fréquente dans mes travaux quotidiens.

En fait, je suppose qu'il faudrait mémoriser dans un tableau (array ?)
les noms des feuilles masquées pour les re-masquer avant enregistrement.
mais .. j'y arrive pô.

Merci par avance de votre aide
François




François
Le #1373648
Bonjour Papou et merci,

J'utilise :
For Each MaFeuille In Worksheets
MaFeuille.Visible = xlSheetVisible
End If
Next

pour tout afficher mais ce que je souhaite c'est dans cette procédure
mémoriser les feuilles qui ont été démasquées pour les remasquer
après avoir travaillé sur mon classeur.
Une sorte de variable publique en fait..

François
-------------------

End Sub
"Papou" #
Bonjour françois
Et pourquoi pas une boucle ?
For i = 1 to sheets.count
if sheets(i).visible = xlsheetvisible Then
sheets(i).visible = xlsheethidden '(ou xlsheetveryhidden)
end if
next i

Cordialement
Pascal

"François" a écrit dans le message de news:
ekC$
Bonjour à tous,

Je cherche à écrire une proc permettant d'afficher toutes les
feuilles cachées d'un classeur puis de les remasquer après avoir
travaillé sur ce classeur.
En effet avant de diffuser un document, je masque souvent une feuille
base de données, des feuilles de codes, de paramètres ... qui n'ont
aucun


intérêts
pour mes destinataires mais qui en ont pour moi.
C'est une manip fréquente dans mes travaux quotidiens.

En fait, je suppose qu'il faudrait mémoriser dans un tableau (array ?)
les noms des feuilles masquées pour les re-masquer avant enregistrement.
mais .. j'y arrive pô.

Merci par avance de votre aide
François








docm
Le #1373646
Bonjour François.
Voici une façon de le faire:
Gérard

'####################
'Déclarer ces 2 variables dans un module
Global NomDeLafeuille() As String
Global SaProprieteVisible() As Long
'####################

Sub DemasquerLesFeuillesMasquees()

ReDim NomDeLafeuille(ThisWorkbook.Sheets.Count)
ReDim SaProprieteVisible(ThisWorkbook.Sheets.Count)

For i = 1 To ThisWorkbook.Sheets.Count
'Conserver le nom des feuilles dans la variable NomDeLafeuille()
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
NomDeLafeuille(i) = ThisWorkbook.Sheets(i).Name
SaProprieteVisible(i) = ThisWorkbook.Sheets(i).Visible
'Mettre la propriété Visible de toutes les feuilles à Vrai
ThisWorkbook.Sheets(i).Visible = True

Next i

End Sub

Sub RemasquerLesFeuillesDemasquees()

For Each MaFeuille In Worksheets

For i = 1 To UBound(NomDeLafeuille)
If MaFeuille.Name = NomDeLafeuille(i) Then

MaFeuille.Visible = SaProprieteVisible(i)
Exit For

End If
Next
Next

End Sub

"François" wrote in message
news:#
Bonjour Papou et merci,

J'utilise :
For Each MaFeuille In Worksheets
MaFeuille.Visible = xlSheetVisible
End If
Next

pour tout afficher mais ce que je souhaite c'est dans cette procédure
mémoriser les feuilles qui ont été démasquées pour les remasquer
après avoir travaillé sur mon classeur.
Une sorte de variable publique en fait..

François
-------------------

End Sub
"Papou" #
Bonjour françois
Et pourquoi pas une boucle ?
For i = 1 to sheets.count
if sheets(i).visible = xlsheetvisible Then
sheets(i).visible = xlsheethidden '(ou xlsheetveryhidden)
end if
next i

Cordialement
Pascal

"François" a écrit dans le message de news:
ekC$
Bonjour à tous,

Je cherche à écrire une proc permettant d'afficher toutes les
feuilles cachées d'un classeur puis de les remasquer après avoir
travaillé sur ce classeur.
En effet avant de diffuser un document, je masque souvent une feuille
base de données, des feuilles de codes, de paramètres ... qui n'ont
aucun


intérêts
pour mes destinataires mais qui en ont pour moi.
C'est une manip fréquente dans mes travaux quotidiens.

En fait, je suppose qu'il faudrait mémoriser dans un tableau (array ?)
les noms des feuilles masquées pour les re-masquer avant
enregistrement.



mais .. j'y arrive pô.

Merci par avance de votre aide
François












François
Le #1373642
Bonjour Gérard,

Ca fonctionne parfaitement.
Merci beaucoup.
2 éme étape pour moi maintenant : bien comprendre ta proc.
Je crois que je devrais pouvoir y arriver et cette utilisation de variables
globales me rendra sûrement d'autres services.

Merci encore et bonne journée
François
------------
"docm"
Bonjour François.
Voici une façon de le faire:
Gérard

'####################
'Déclarer ces 2 variables dans un module
Global NomDeLafeuille() As String
Global SaProprieteVisible() As Long
'####################

Sub DemasquerLesFeuillesMasquees()

ReDim NomDeLafeuille(ThisWorkbook.Sheets.Count)
ReDim SaProprieteVisible(ThisWorkbook.Sheets.Count)

For i = 1 To ThisWorkbook.Sheets.Count
'Conserver le nom des feuilles dans la variable NomDeLafeuille()
'Conserver la valeur de la propriété .Visible dans la variable
SaProprieteVisible()
NomDeLafeuille(i) = ThisWorkbook.Sheets(i).Name
SaProprieteVisible(i) = ThisWorkbook.Sheets(i).Visible
'Mettre la propriété Visible de toutes les feuilles à Vrai
ThisWorkbook.Sheets(i).Visible = True

Next i

End Sub

Sub RemasquerLesFeuillesDemasquees()

For Each MaFeuille In Worksheets

For i = 1 To UBound(NomDeLafeuille)
If MaFeuille.Name = NomDeLafeuille(i) Then

MaFeuille.Visible = SaProprieteVisible(i)
Exit For

End If
Next
Next

End Sub

"François" wrote in message
news:#
Bonjour Papou et merci,

J'utilise :
For Each MaFeuille In Worksheets
MaFeuille.Visible = xlSheetVisible
End If
Next

pour tout afficher mais ce que je souhaite c'est dans cette procédure
mémoriser les feuilles qui ont été démasquées pour les remasquer
après avoir travaillé sur mon classeur.
Une sorte de variable publique en fait..

François
-------------------

End Sub
"Papou" #
Bonjour françois
Et pourquoi pas une boucle ?
For i = 1 to sheets.count
if sheets(i).visible = xlsheetvisible Then
sheets(i).visible = xlsheethidden '(ou xlsheetveryhidden)
end if
next i

Cordialement
Pascal

"François" a écrit dans le message de news:
ekC$
Bonjour à tous,

Je cherche à écrire une proc permettant d'afficher toutes les
feuilles cachées d'un classeur puis de les remasquer après avoir
travaillé sur ce classeur.
En effet avant de diffuser un document, je masque souvent une
feuille




base de données, des feuilles de codes, de paramètres ... qui n'ont
aucun


intérêts
pour mes destinataires mais qui en ont pour moi.
C'est une manip fréquente dans mes travaux quotidiens.

En fait, je suppose qu'il faudrait mémoriser dans un tableau (array
?)




les noms des feuilles masquées pour les re-masquer avant
enregistrement.



mais .. j'y arrive pô.

Merci par avance de votre aide
François
















Publicité
Poster une réponse
Anonyme