Recherche macro masquer/afficher feuilles de calcul

G

Glowbox

Guest
Bonjour,

Quelqu'un peut t'il me donner un tuyau pour réaliser:

- Une macro pour faire apparaitre tous les feulles de calcul masquées
et
- une macro pour faire masquer toutes les feuilles de calcul sauf une bien spécifique


ou

une macro qui ne fait apparaitre que par exemple les feuilles 1+3+6 et qui masque toutes les autres feuilles du classeur

merci
 
J

jp

Guest
Bonsoir Glowbox, le Forum,

Vas faire un tour sur ce fil, il répondra peut-être à ta question.

http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=136584&t=136533

Dans ta barre d'adresse, modifies les deux dernières valeurs en remplaçant

137110 par 136584 et le second 137110 par 136533, cela doit fonctionner.

Bonne soirée et bonnes fètes à tous.

jp
 
R

Rénato

Guest
Bonsoir Glowbox

En réponse à ta demande voici une série de 3 script (+ 1 bonus) qui devraient te satisfaire :



Sub AfficherTout()
For RENATO1 = 1 To ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(RENATO1).Visible = True
Next RENATO1
End Sub

Sub MasquerToutSaufLaTroisiemeFeuille()
For RENATO2 = 1 To 2
ActiveWorkbook.Sheets(RENATO2).Visible = False
Next RENATO2
For RENATO3 = 4 To ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(RENATO3).Visible = False
Next RENATO3
End Sub

Sub MasquerToutSaufFeuille1_3_6()
Sheets("Feuil3").Visible = True
For RENATO4 = 2 To ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(RENATO4).Visible = False
Next RENATO4
Sheets("Feuil3").Visible = True
Sheets("Feuil6").Visible = True
End Sub


Et le bonus.....

Sub MasquerAPartirDeLaCinquiemeFeuille()
For RENATO5 = 5 To ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(RENATO5).Visible = False
Next RENATO5
End Sub

Bien cordialement

Rénato
 
G

Glowbox

Guest
Mon cher RENATO j'avais oublié de précisé que je suis carrément novice avec les macro.
pour tout te dire c'est même la première fois que j'y touche...

tans pis, je me suis lancé car je trouve cette histoire de macros passionnante...

Après un "grand" bout de temps ( 2 h quand même ! ) , la seule chose que j'ai réussi à faire - merci de ne pas rigoler - j'ai affecté à un bouton la macro suivante et ça marche

Sub commercial()
Sheets("resume").Visible = True
For RENATO4 = 2 To ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(RENATO4).Visible = False
Next RENATO4
Sheets("Coordonées").Visible = True
Sheets("saisie").Visible = True
Sheets("Mail").Visible = True
Sheets("Proforma").Visible = True
Sheets("Renseignements").Visible = True
End Sub

a part que j'ai pas compris les lignes de codes suivantes:

For RENATO4 = 2 To ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(RENATO4).Visible = False
Next RENATO4

j'ai bien compris que ces lignes ne servent à rien avec un bouton !
Moi qui voulais à la base que ça marche avec le code "jonas" tapé dans une cellulle que j'ai appelé "motdepasse"

j'ai remplacé RENATO4 par motdepasse
j'ai remplacé 2 par jonas

et ça ne marche pas.

est ce que RENATO4 est bien le nom d'une cellule ?

si tu peux me tirer de la....

cela m'éviterai la nuit blanche...
 
R

Rénato

Guest
Re Glowbox


Dans l'exemple que tu cites :
For RENATO4 = 2 To ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(RENATO4).Visible = False
Next RENATO4

RENATO04 est une variable qui représente une feuille de calcul.
La boucle fonctionne de telle sorte que chaque feuille de calcul comprise entre le rang 2 (RENATO4 = 2) et la derniere feuille du classeur (ActiveWorkbook.Sheets.Count) soit masquée (ActiveWorkbook.Sheets(RENATO4).Visible = False).

Concernant la liaison sur un bouton, celle-ci ne doit se faire que sur un onglet qui reste visible. Ici en l'occurrence c'est la feuille 1.

Enfin, pour la mise en oeuvre mot de passe avec "jonas" tapé dans une cellule, ça relève de l'évenementielle et notre ami Robert l'a très bien illustré dans le post suivant dont tu es également à l'origine.

Bien cordialement

Rénato
 
G

Glowbox

Guest
merci

j'ai donc remplacé RENATO4 par Resume
Resume étant le nom de la première feuille de calcul qui doit rester visible

j'ai un message d'érreur:

ERREUR DE COMPILATION
ATTENDU : VARIABLE


????

si je veux que ma feuille Resume soit la première feuille, ne dois -je pas mettre Resume=1 ?

merci pour ton aide

je n'ose même pas pour l'instant essayer de comprendre la mise en oueuvre du mot de passe, ça a l'air coton

chaque chose en son temps.
je dois d'abord comprendre le premier truc

encore merci
 
G

Glowbox

Guest
j'ai un début de satisfaction :

avec le code suivant :

Sub commercial()
Sheets("resume").Visible = True
For RENATO4 = 2 To ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(RENATO4).Visible = False
Next RENATO4
Sheets("Coordonées").Visible = True
Sheets("saisie").Visible = True
Sheets("Mail").Visible = True
Sheets("Proforma").Visible = True
Sheets("Renseignements").Visible = True
End Sub

j'ai réussi à masquer, dans un premier temps, toutes les feuilles de calcul puis faire apparaitre uniquement celles qui m'interesse.

la méthode n'est pas très ortodoxe mais elle a le mérite de fonctionner.
Mais je n'ai toujours pas compris comment remplacer RENATO4 par quelque chose de mon classeur.

je suis certain - qu'avec tes conseils - de finir par comprendre

l'inconvénient c'est que l'utilisateur peut à tout moment faire apparaitre les cellules masquées.
j'ai donc penser à verouiller le classeur avec le mot de passe "pasword"

Quel serait donc les lignes de code à rajouter au début pour déverouiller le classeur avec ce mot de passe
et
quel serait ensuite les lignes de code à rajouter à la fin pour vérouiller à nouveau le classeur.

je sais que pour un puriste comme toi tu choisirai autre une solution bien plus performante au niveau de la sécurité du controle d'accès, mais à mon niveau...

je voudrais surtout arriver à comprendre et à maitriser ce que je fais


Merci encore
 
R

Rénato

Guest
glowbox

Salut Glowbox,

Afin de ne pas tomber dans le piège qui consiste à pondre 50 topics sur un sujet et d'aider notre ami et webmaster DAVID à mieux maitriser sa volumétrie, je te propose de me faire parvenir un extrait de ton fichier en y intégrant une zone de texte qui explicite ton besoin.

Bien à toi

Rénato
 
R

Rénato

Guest
Bonsoir Glowbox

Le fichier étant trop lourd, je te le retourne directement par messagerie :

- Une invite à l'ouverture permet de recueillir le login de l'utilisateur
- Chaque utilisateur ne voit apparaitre que les onglets (feuilles) qui lui sont destinés.
- Lors de la fermeture, un enregistrement automatique est programmé.
- Lors de l'ouverture suivante seule la feuille "RESUME" est affichée.

Concernant ton souhait de sécurisation du classeur :

- En cours d'utilisation, le menu feuille/affiché est désactivé (ça je l'ai pompé sur un précédent classeur de Robert...mais j'ai pas compris comment il a fait, je compte sur sa diligence pour me le faire savoir)

Sur l'aspect sécurisation, le premier rusé qui cherche 10mn sur GOOGLE, va trouver les parades, donc je te propose de ne pas aller bien plus loin.

J'espère avoir répondu au moins en partie à tes attentes.

Bien cordialement

Rénato
 
G

Glowbox

Guest
Mon cher RENATO,

Je te sais pas comment te remercier, ça marche impec !
Je te serai à jamais reconnaissant pour l'aide que tu m'a apporté
Tous mes Voeux de Santé et de Bonheur pour 2005
Bien à toi

Glowbox
 

Discussions similaires

Statistiques des forums

Discussions
312 971
Messages
2 094 045
Membres
105 926
dernier inscrit
Odyssea