utiliser contenu d'une cellule selon contenu d'une autre cellule

MaTThi9u

XLDnaute Nouveau
Bonjour,
le titre est je pense un peu flou et je m'en excuse.

Dans le fichier joint lorsque je sélectionne dans le menu de la feuil1 le secrétaire, la feuil2 est masquée; lorsque je sélectionne dans le menu de la feuil1 le chef, la feuil2 est affichée.

Dans la feuil3 une liste des onglets généré par macro ...

Ce que je ne parviens pas à faire:
afficher ou masquer les onglets de la liste en fonction de la personne sélectionnée (si "x" alors masque)​

merci par avance pour votre aide.
 

Pièces jointes

  • test.xlsm
    18.1 KB · Affichages: 33
  • test.xlsm
    18.1 KB · Affichages: 46

job75

XLDnaute Barbatruc
Re : utiliser contenu d'une cellule selon contenu d'une autre cellule

Bonjour MaTThi9u, bienvenue sur XLD, hello CPk,

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ref As Range, tablo As Range, j As Variant, i&
Set ref = [B2] 'à adapter
If Intersect(Target, ref) Is Nothing Then Exit Sub
Set tablo = Feuil3.[M2:O5] 'CodeName+plage, à adapter
j = Application.Match(ref, tablo.Rows(1), 0)
On Error Resume Next 'si la feuille n'existe pas
For i = 2 To tablo.Rows.Count
  If IsError(j) Then
    Sheets(CStr(tablo(i, 1))).Visible = True
  Else
    Sheets(CStr(tablo(i, 1))).Visible = tablo(i, j) = ""
  End If
Next
End Sub
Si l'on efface B2 toutes les feuilles sont affichées.

A+
 

MaTThi9u

XLDnaute Nouveau
Re : utiliser contenu d'une cellule selon contenu d'une autre cellule

merci pour la réponse rapide mais serait-il possible de ne pas créer le tableau mais plutôt vérifier ligne par ligne afin de pallier a l'ajout de feuille qui nécessite du coup l’estimation éventuelle de la plage ?
 

job75

XLDnaute Barbatruc
Re : utiliser contenu d'une cellule selon contenu d'une autre cellule

Re,

Ma macro ne "crée" pas le tableau en Feuil3 et elle le vérifie ligne par ligne :rolleyes:

Si vous ne voulez pas avoir à modifier la macro chaque fois que vous ajoutez des feuilles il suffit de prendre de la marge :

Code:
Set tablo = Feuil3.[M2:O100] 'CodeName+plage, à adapter
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 581
Messages
2 089 917
Membres
104 306
dernier inscrit
Bouhlal