Cacher des onglets en fonction d'une liste

Xavier.Clement

XLDnaute Nouveau
Bonjour,

j'ai un fichier avec 15 pays pour envoyer a des personnes dans chaque pays. J'ai cree une liste combo avec cette liste de pays. J'aimerais avoir une macro qui ne garde que l'onglet pays selectionne et qui cache les autres. Quelqu'un pourrait il m'aider ? Je suis debutant en vba et j'ai beaucoup de mal a defenir cette macro.

Merci
Xavier
 

mth

XLDnaute Barbatruc
Re : Cacher des onglets en fonction d'une liste

Bonjour Xavier.Clement, et bienvenue :)

Je me pose une question en te lisant, tu veux cacher les onglets pour ne pas alourdir la lecture des destinataires et leur éviter d'avoir un gros fichier à parcourir, ou les données doivent-elles rester confidentielles d'un pays à l'autre?
Parce que si tel est le cas, il suffira à un destinataire un peu curieux de démasquer les onglets cachés, et il aura accès à toutes les informations des autres ... est-ce que tu veux?

@ +

mth
 
Dernière édition:

Xavier.Clement

XLDnaute Nouveau
Re : Cacher des onglets en fonction d'une liste

Bonjour,

Merci ! Je pense que je serai souvent sur ce forum... j'ai beaucoup de progret a faire en vba ! D'ailleurs, je ne sais pas si quelqu'un pourrait recommander un bon livre pour debuter ?

En fait je veux que les onglets ne soient pas visibles par les autres pays car les donnees seront confidentielles. Il faudrait effectivement coder le fichier pour qu'ils ne puissent pas avoir acces aux autres onglets. Je pense que cela est possible dans la macro aussi ?

merci
Xavier
 

job75

XLDnaute Barbatruc
Re : Cacher des onglets en fonction d'une liste

Bonjour Xavier, Mireille,

Tu as tout à fait raison Mireille, il serait plus logique que dans le fichier envoyé à chaque pays il n'y ait que la (ou les) feuille(s) qui le concerne, les autres étant supprimées.

Edit
: on peut cacher les feuilles par la propriété VeryHidden, mais il faut aussi protéger VBA par un mot de passe...

A+
 
Dernière édition:

mth

XLDnaute Barbatruc
Re : Cacher des onglets en fonction d'une liste

Re :)
et bonjour Job :)

Oui, pour l'anecdote un collaborateur de l'un de nos fournisseurs, avec qui nous avons quelques sujets de fâcheries, nous a envoyé un fichier comme ça, avec des onglets Hidden ou veryhidden, et il nous a donné mine de rien en pensant qu'on ne le verrait pas, sa base tarifaire et ses clients (dont quelques concurrents...). Le type en question a été licencié assez rapidement ....

Pour toi Xavier, j'aurai un peu de mal à t'aider, étant moi même débutante en VBA, mais si tu veux voici un lien vers un site sublime et quelques lectures pour commencer:

Articles : myDearFriend! Excel Pages

il y a en bien d'autres bien sûr.

En attendant, dépose un petit bout de fichier (pas forcément avec les 15 onglets, juste quelques uns au contenu réduit avec des données bidons) ça fera une base de travail pour ceux qui te viendront en aide.

@ +

mth
 

Hulk

XLDnaute Barbatruc
Re : Cacher des onglets en fonction d'une liste

Salut à tous,

Il y a cette façon de faire, mais pour ce qui concerne la protection, c'est un autre problème auquel il faudrait rajouter un bout de code (que j'n'y arrive pas :D).

Si ça peut déjà t'avancer un peu...

Bonne journée, Hulk.
 

Pièces jointes

  • Classeur1.xls
    36 KB · Affichages: 65
  • Classeur1.xls
    36 KB · Affichages: 70
  • Classeur1.xls
    36 KB · Affichages: 65

Xavier.Clement

XLDnaute Nouveau
Re : Cacher des onglets en fonction d'une liste

Voila un exemple de fichier. J'ai un onglet par pays. Je souhaite qu'en cliquant sur la macro seul l'onglet du pays soit visible. (Dans l'onglet detailed tasks, j'ai deja mis un autofilter avec la macro pour que seules les lignes relatives aux pays restent.) Mon probleme est avec l'onglet.

merci pour votre aide.
 

Pièces jointes

  • Calendar pour forum.zip
    25.1 KB · Affichages: 29

JCGL

XLDnaute Barbatruc
Re : Cacher des onglets en fonction d'une liste

Bonjour à tous,
Salut Mth,
Salut Job,

Pourquoi ne pas lancer une création de classeur par pays avec comme base ton classeur "international"(avec un seul onglet par classeur) ?

A+
 

Xavier.Clement

XLDnaute Nouveau
Re : Cacher des onglets en fonction d'une liste

Merci Hulk mais cette macro ne correspond pas tout a fait a mes attentes. En fait il faudrait que feuill1 soit toujours visible. Dans la liste nous aurions feuill2 a feuill16 par exemple, et suivant la selection a partir de la liste, seule cette feuille serait visible. Dans mon cas, les feuilles auraient pour nom les pays. Pour ce fichier je peux laisser les onglets dans le fichier car il n'y aura pas de donnees confidentielles.

Idealement dans le futur, j'aurais besoin pour un autre fichier d'une macro qui cree un fichier par pays (a partir d'un fichier central ou tous les onglets seraient visible). Dans ce cas j'aurais 15 fichiers (un par pays).

Merci d'avance a tous pour votre aide ! Ce forum est vraiment super et a ma grande surprise les gens repondent vraiment rapidement !
 

mth

XLDnaute Barbatruc
Re : Cacher des onglets en fonction d'une liste

Re bonjour à tous :)

Je crois JC que tu as LA solution, le reste étant trop risqué si les données sont condidentielles.
Malheureusement, je ne crois pas savoir programmer l'envoi d'onglets par mail, mais voici un lien vers un site plein d'infos qui aborde justement le sujet d'envoi d'onglets par mail:

Excel et le WEB

@ + à tous
Bises JC :)
 

Xavier.Clement

XLDnaute Nouveau
Re : Cacher des onglets en fonction d'une liste

Ce n'est pas vraiment ce que je veux non plus. En tout cas pas pour ce projet la. Dans celui-ci j'ai juste besoin dans un premier temps de cacher les autres onglets. Dans un deuxieme temps creer un fichier par pays pourrait etre super (pas pour le calendrier mais pour des donnees plus confidentielles). Donc si quelqu'un pouvait m'aider a cacher des onglets en fonction de ma drop down liste cela serait super !

merci
 

Lii

XLDnaute Impliqué
Re : Cacher des onglets en fonction d'une liste

Bonjour Tous,

dans le fichier joint :

Les onglets sont cachés au lancement.
En colonne A, on retrouve leur nom.
Un clic sur une cellule de la colonne A et
l'onglet est visible,
un classeur avec une copie intégrale est créé.
Il suffira d'enregistrer ce dernier sous le nom désiré.

ajout :une adaptation possible de ton fichier joint
 

Pièces jointes

  • 1 des Feuilles Visible puis Isolée.zip
    11.2 KB · Affichages: 42
  • Calendar pour forum 2.zip
    21.1 KB · Affichages: 17
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Cacher des onglets en fonction d'une liste

Bonjour à tous,

Un essai avec Création des classeurs par Pays et Masque des feuilles sauf 'SelectedCountry'

A+
 

Pièces jointes

  • JC Calendar pour forum.zip
    27 KB · Affichages: 28

Discussions similaires

Statistiques des forums

Discussions
312 322
Messages
2 087 273
Membres
103 503
dernier inscrit
maison