Microsoft 365 Faire apparaître / cacher plusieurs onglets en fonction du résultat d'une formule

Lisette

XLDnaute Junior
Bonjour à tous !

Je bloque sur un problème car je ne connais pas assez le VBA... J'aurais bien besoin de votre aide :)

DESCRIPTION
Je vous ai joint un petit fichier d'exemple qui est à la base un plan d'actions.
Je renseigne des onglets nommés 1, 2, 3... ce sont mes fiches actions.
dans un autre onglet, je renseigne qui est concerné par mes actions (Tata, Tutu, Toto...) qui peuvent avoir plusieurs fiches actions.

Dans mon onglet "accueil" je demande à l'utilisateur de renseigner son matricule et ce faisant, on affiche la liste des fiches actions qui le concernent.

Jusque là : tout va bien :)

PROBLEMATIQUE
Je souhaiterais :
1 - qu'à l'ouverture du fichier, tous les onglets des fiches actions soient cachés (bon ça avec auto_open, je vais m'en sortir)
2 - que lorsque la personne obtient les actions qui la concerne, les onglets correspondants soient visibles et eux uniquement.
- Quand Tata tape son code, il sait qu'il a les actions 1-2-3 qui le concernent et les onglets 1, 2 et 3 s'affichent.

Pourriez-vous m'aider s'il vous plaît ?
Petite précision : mon fichier de base a une cinquantaine de fiches actions, alors j'ai peur que ça rame un peu. Qu'en pensez-vous ?

Très bonne journée, j'espère avoir été claire
Cordialement
Lisette
 

Pièces jointes

  • Fichier exemple.xlsm
    65.7 KB · Affichages: 8
C

Compte Supprimé 979

Guest
Bonsoir Lisette

Si tout le monde pouvait être aussi clair et précis que vous.. ce serait un bonheur 😜

Voici le fichier exemple avec du code dans ThisWorkBook, La feuille "Listes" et un module

Je ne pense pas que cela "rame" réellement sur une cinquantaine de feuilles

A tester ;)

Edit : fichier modifié 08/02 10:29
 

Pièces jointes

  • Lisette_FichesAction.xlsm
    69.9 KB · Affichages: 4
Dernière modification par un modérateur:

Lisette

XLDnaute Junior
Bonjour Bruno !!
Merci beaucoup pour ta réponse et tes codes (le veryhidden m'a un peu perturbée je cherchais mes onglets lol)

Par contre, j'ai un petit souci à l'exécution, quand les fiches 1 et 3 doivent apparaître, ce sont les onglets 2 et 3 qui s'affichent 🤔 Est-ce que cela fonctionne chez toi ?
1644310090767.png


Merci encore
Lisette
 
C

Compte Supprimé 979

Guest
Bonjour Lisette

Une petite étourderie de ma part, je n'ai pas enlevé la ligne d'entête, désolé
Après le
VB:
For Col = 4 To dCol
Il faut changer la ligne par
VB:
sFeuil = LstObj.DataBodyRange.Cells(Cel.Row - 1, Col)
A+
 

Lisette

XLDnaute Junior
Encore moi :)
Encore un petit souci (désolée vraiment)

Ce qui se passe :

Si une personne a 1-3 : 1 et 3 s'affichent
Après on prend une personne qui a 1-2-3, ça affiche bien 1-2-3
Par contre, si on change juste après et qu'on a une personne avec 1-2, le 3 reste en visible.

A+ ! :)
 
C

Compte Supprimé 979

Guest
Re,

Petit rappel de votre problématique 🤔
PROBLEMATIQUE
Je souhaiterais :
1 - qu'à l'ouverture du fichier, tous les onglets des fiches actions soient cachés (bon ça avec auto_open, je vais m'en sortir)
2 - que lorsque la personne obtient les actions qui la concerne, les onglets correspondants soient visibles et eux uniquement.
- Quand Tata tape son code, il sait qu'il a les actions 1-2-3 qui le concernent et les onglets 1, 2 et 3 s'affichent.

C'est donc ce que j'ai fait, ou alors vous n'avez pas été assez explicite
Je n'irai pas plus loin.. au prix ou je suis payé 😜 🤣

Bonne continuation
 

Lisette

XLDnaute Junior
Effectivement, je n'ai pas précisé que lorsqu'on rentre un autre code, les bons onglets doivent s'afficher et pas uniquement quand on tape le premier code.
Pour moi c'était sous-entendu mais vous n'êtes pas dans ma tête :D Au temps pour moi.

Du coup, j'ai adapté le code, quand on change le numéro, je réinitialise comme à l'ouverture du fichier.
VB:
  Dim Sht As Worksheet
  For Each Sht In ThisWorkbook.Worksheets
    If Sht.Name <> "ACCUEIL" Then
      Sht.Visible = xlSheetVeryHidden
    End If
  Next Sht

Merci encore beaucoup pour votre aide.
Lisette
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 898
Membres
101 834
dernier inscrit
Jeremy06510